Quand je copie le code de ma procédure et que je l'execute, tout va bien ... Heureusement
Mais quand je la lance par @maProc, elle me fait une erreur à la compil........ wrong number of values in the INTO list of a FETCH
D'où celà peut il venir ?
Quand je copie le code de ma procédure et que je l'execute, tout va bien ... Heureusement
Mais quand je la lance par @maProc, elle me fait une erreur à la compil........ wrong number of values in the INTO list of a FETCH
D'où celà peut il venir ?
ton code svp ...
Bon je mets pas tout ...
Ca vient du fait que y'a des if entre le fetch et le insertrt ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 CURSOR VueCurseur IS SELECT Idf_agent, Nom_usuel, nom_Prenom, Num_grpaie, cod_Grade, Idc_majore, cod_Echelon, Dat_paie, cod_Rub, lib_rub, mnt_rub_n, lib_catagt,cod_vent_budg FROM v_prevPaie ORDER BY idf_agent ; BEGIN lCpte:=''; DELETE FROM TempPrevis; OPEN VueCurseur; LOOP FETCH VueCurseur INTO lIdf_agent, lNom, lPrenom,lNum_grpaie, lGrade, lIdc, lEchel, lDate, lRubriq, lLib, lMnt,lCat,lcode; IF lcode='C1' AND lCat='NON TITULAIRE' THEN lCat:='CONVENTIONNE'; END IF; IF lcode='C2' AND lCat='NON TITULAIRE' THEN lCat:='SUR CREDITS'; END IF; IF lcode='P1' AND lCat='NON TITULAIRE' THEN lCat:='CONTRACTUEL'; END IF; INSERT INTO TempPrevis VALUES (lIdf_agent, lNom, lPrenom,lNum_grpaie, lGrade, lIdc, lEchel, lDate, lRubriq, lLib, lMnt,lCat,lCpte,lcode); EXIT WHEN VueCurseur%NOTFOUND; END LOOP; CLOSE VueCurseur; END; /
Met le EXIT WHEN apres le fetch :
il me semble que cela devrait mieux fonctionner
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 LOOP FETCH VueCurseur INTO lIdf_agent, lNom, lPrenom,lNum_grpaie, lGrade, lIdc, lEchel, lDate, lRubriq, lLib, lMnt,lCat,lcode; EXIT WHEN VueCurseur%NOTFOUND; IF lcode='C1' AND lCat='NON TITULAIRE' THEN lCat:='CONVENTIONNE'; END IF; IF lcode='C2' AND lCat='NON TITULAIRE' THEN lCat:='SUR CREDITS'; END IF; IF lcode='P1' AND lCat='NON TITULAIRE' THEN lCat:='CONTRACTUEL'; END IF; INSERT INTO TempPrevis VALUES (lIdf_agent, lNom, lPrenom,lNum_grpaie, lGrade, lIdc, lEchel, lDate, lRubriq, lLib, lMnt,lCat,lCpte,lcode); END LOOP;
Effectivement ça a marché ....
Je pensais vraiment pas que c'était un truc comme ça ...
Bref, MERCI BEAUCOUP !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager