Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/09/2007, 13h21   #1
Candidat au titre de Membre du Club
 
Inscription : février 2005
Messages : 36
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 36
Points : 12
Points : 12
Par défaut Transformer une procedure stockée en script PL/SQL?

Est-il possible de mettre le contenu d'une procedure stockée dans un fichier texte, pour en faire un script.
En fait j'ai une procedure stockée PL/SQL et je voudrai la faire fonctionner sans avoir à charger le package, compiler puis executer. Je me demandais s'il n'etait donc pas possible de mettre le contenu dans un fichier (extension .SQL) et de lancé le fichier par une fenêtre MS DOS
@script.sql
Je sais qu'on peut lancer des scripts SQL de cette manière mais pour PL/SQL je n'arrive pas à le faire fonctionner.
Quelqu'un sait-il si c'est possible et comment faire ?

Merci d'avance.
arnauann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 13h24   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Exemple :
Si ta procedure est de la forme :
Code :
1
2
3
4
5
6
CREATE OR REPLACE procedure maProc IS
  maVar number;
begin
  maVar := 1;
end;
/
Alors ton script sera de la forme :
Code :
1
2
3
4
5
6
declare
  maVar number;
begin
  maVar := 1;
end;
/
Et après sous SQL*Plus :
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 13h33   #3
Membre éclairé
 
Inscription : novembre 2002
Messages : 533
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 533
Points : 359
Points : 359
+ si tu as des paramétres IN ou OUT dans la déclaration de ta procédure, il te faut les déclarer en local comme plaineR te l'as décrit
__________________
PpPool
PpPool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 13h35   #4
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
ou une autre solution :
Code :
1
2
3
4
5
6
7
8
9
10
declare
   procedure maproc IS
      maVar number; 
   begin
      maVar := 1;
   end;
begin
  maproc;
end;
/
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 14h46   #5
Candidat au titre de Membre du Club
 
Inscription : février 2005
Messages : 36
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 36
Points : 12
Points : 12
Merci pour votre aide.
en fait j'avais oublié le "/" à la fin du fichier. Et dans ce cas il retourne le nombre de lignes du fichier et n'execute pas la procedure...
arnauann est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h11.


 
 
 
 
Partenaires

Hébergement Web