Récupération paramètre dans une procédure stockée sous base oracle

PhilV - 31 mai 2001 à 20:52
 stp - 1 juin 2001 à 11:17
Bonjour,

J'ai écrit une procédure stockée sous base oracle que voilà:
CREATE OR REPLACE PROCEDURE PROCCODCOL (vNpre in varchar, vExercice in char) IS
Cursor c1 is SELECT DISTINCT OTTRAVAUXTRANSF.CODCOL
FROM OTTRAVAUXTRANSF
WHERE (OTTRAVAUXTRANSF.NPRE = vNpre)AND
(OTTRAVAUXTRANSF.EXERCICE = vExercice) AND
(OTTRAVAUXTRANSF.NTIT = 0);

vCodcol number(3);
BEGIN
for c1_rec in c1 loop
vCodcol:=c1_rec.CODCOL;
insert into TABLE_PROC_CODCOL values (vCodcol);
end loop;
END;

Ainsi, je suis obligé de passer par une table intermédiaire. Comment faire pour ne pas passer par cette table et avoir directement l'information dans le code vb.
Merci à l'avance.

1 réponse

Salut

Je pense que tu souhaite récuperer
le resultat de la requete (le curseur ou recordset)

Pour faire cela il faut :
- Ajouter un parametre out de type refcursor à ta prostock

=> Resultat :
CREATE OR REPLACE PROCEDURE PROCCODCOL
(vNpre in varchar, vExercice in char, c_Cur out Ref Cursor) IS
BEGIN
OPEN c_Cur FOR
SELECT DISTINCT OTTRAVAUXTRANSF.CODCOL
FROM OTTRAVAUXTRANSF
WHERE (OTTRAVAUXTRANSF.NPRE = vNpre) AND
(OTTRAVAUXTRANSF.EXERCICE = vExercice) AND
(OTTRAVAUXTRANSF.NTIT = 0);
END;

tiens moi au courant
A+
0
Rejoignez-nous