Bonjour,
Je souhaiterais insérer dans une table des données grâce à un curseur dans lequel se trouverait une variable 'depart'. Il existe deux tables POSTE et COLLEC. Un POSTE contient 1 ou plusieurs COLLEC. Le NUM_POSTE commence par le n° de département. Il s'agit d'insérer des données pour des postes dont le n° commence par 01, 02, 03 ou 04.

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
DECLARE
For depart in 1..4
Loop
CURSOR CHD_CURSEUR is
select POSTE.NUM_POSTE, POSTE.LIBELLE LIB_P, COLLEC.CODE_BUDGET_COLLECTIVITE, COLLEC.LIBELLE LIB_C
from COLLEC, POSTE
where COLLEC.POSTE_ID=POSTE.ID
and POSTE.NUM_POSTE like '0'||depart||'%'
;
end loop;
 
BEGIN
FOR ligne in CHD_CURSEUR
LOOP
insert into AABB_BUDBET_COLLEC
(NUM_POSTE, LIBELLE_POSTE, CODE_BC, LIBELLE_BC)
VALUES (ligne.NUM_POSTE, ligne.LIB_P, ligne.CODE_BUDGET_COLLECTIVITE,
ligne.LIB_C)
;
end loop;
commit;
END;
/
Mais cela ne fonctionne pas. Pourriez-vous m'aider s'il vous plait.
Je vous en remercie par avance.