Bonjour,
Je commence les curseurs et dans le guide PL/SQL, je n'ai pas trouvé d'exemple comme le mien donc je ne sais pas si c'est possible mais pourtant cela me semble la bonne utilisation.
Pourriez-vous m'aider à trouver le ou les erreurs que je commets, svp.
Ma procédure correspond à
il m'indique PLS 00225: réference de curseur C_AG est hors étendue.
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 CREATE OR REPLACE PROCEDURE "CHGT_TR" ( nEXERCICE in number ) is nTr in number; CURSOR C_AG IS Select num, mnt, etat From Ag Where Ann=nExercice; begin For Cur in C_AG loop if C_AG.etat = 1 THEN Update ag_ex set num=0, num2=0 where ex=nExercice and num=C_AG.num; else SELECT num_tr INTO nTr1 FROM tr WHERE mnt between inf and sup AND ex = nExercice; Update ag_ex set num=nTr, num2=0 where ex=nExercice and num=C_AG.num; end if; End loop; end;
Une idée?
Cordialement
Partager