Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1601 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [PL/SQL] procédure stockée sous Orcale8.1

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PL/SQL] procédure stockée sous Orcale8.1

n°127948
neobth
Posté le 18-04-2002 à 15:31:42  profilanswer
 

J'essaie desespéremment de créer une procédure stockée...
Quand je mets :
 
create procedure p1 is
begin
null;
end;
 
ca passe, mais dès que j'essaie de mettre du code :
 
create procedure p1 is
begin
select * from cat;
end;
 
(par exemple), oracle me répond :
 
procedure créée mais avec des erreurs de compilation.
 
PS : Il faut bien utiliser EXECUTE p1; pour lancer une procédure ?

mood
Publicité
Posté le 18-04-2002 à 15:31:42  profilanswer
 

n°128853
kvl
Posté le 20-04-2002 à 14:28:30  profilanswer
 

c du pl/sql  
 
create procedure p1 is
variable1 cat%rowtype;  
begin  
select * into variable1 from cat;  
end;
 
 
Aprés tu fais execute p1

n°130103
neobth
Posté le 24-04-2002 à 11:42:50  profilanswer
 

Cette solution permet de recupérer la valeur d'un champ à l'intérieur de la procédure, mais pas à l'extérieur.
 
J'aimerais pouvoir lancé une procédure stockée à partir d'une servlet, que cette procédure ne retourne un résultat, et que la servlet puisse afficher les lignes sélectionnées.
 
Y'a donc pas moyen qu'une procédure retourne un 'rowset' (comme quand on lance une requete SELECT) ?

n°130205
zach1980
Posté le 24-04-2002 à 15:02:19  profilanswer
 

nan, t'es obligé de boucler mais ca pue.
Utilises plutôt un preparedStatement dans ta servlet.

n°130238
neobth
Posté le 24-04-2002 à 15:36:54  profilanswer
 

c ce que je fais, j'ai un callableStatement (c presque pareil, ca extends de preparedStatement), comme ceci :
 
CallableStatement cs=connection.prepareCall("{CALL MyProc}" );
return (cs.executeQuery()); // qui retourne un ResultSet
 
mais mon pb n'est pas ds le java, c ds le code de la procedure.
Comment faut-il faire pour qu'une procédure retourne qqch, (genre un cursor) ?

n°133518
jerryy
Posté le 02-05-2002 à 16:01:15  profilanswer
 

ca passe, mais dès que j'essaie de mettre du code :
 
create procedure p1 is
begin
select * from cat;
end;
 
(par exemple), oracle me répond :
 
procedure créée mais avec des erreurs de compilation.
 
PS : Il faut bien utiliser EXECUTE p1; pour lancer une procédure ?  
[/citation]
 
c normal parce ke il ya po le droit de faire des ordres select dans une procedure ke select machin into truc

n°133614
Slash-
Posté le 02-05-2002 à 17:45:11  profilanswer
 

1) par definition une procedure ne retourne rien du tout
2) une fonction retourne quelque chose
3) essaie ceci :
 
FUNCTION f1 RETURN cat%rowtype
IS
variable1 cat%rowtype;  
begin  
select * into variable1 from cat;  
RETURN variable1;
end;
 
n'oublie pas le bloc d'exception non plus :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [PL/SQL] procédure stockée sous Orcale8.1

 

Sujets relatifs
[PERL] Liste des tables dans Access.... SQL commande ?Comment joindre deux requête SQL
SQL, problème lors du count[Réponse] Lancer une procédure PL/SQL à partir d'un shell Unix
Erreur Sqllancer une procedure en pl/sql avec un cron...
[PHP] requete SQL[SQL + PHP ] - Tirage aleatoire dans une db?
Debutant : SQL : EXISTS et NOT EXISTS qqun peut m'expliké ?!! 
Plus de sujets relatifs à : [PL/SQL] procédure stockée sous Orcale8.1


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR