J'ai essayé de mettre en pratique les cursor en faisant :
Et je me retrouve avec une erreur :
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 DECLARE TYPE recordTypeFlux IS RECORD ( libelle type_flux.libelle_type_flux%TYPE, code type_flux.code_type_flux%TYPE ); CURSOR CurseurTypeFlux IS select libelle_type_flux, code_type_flux from type_flux; record recordTypeFlux%ROWTYPE; valeurcount INTEGER; BEGIN OPEN CurseurTypeFlux; LOOP FETCH CurseurTypeFlux INTO record; EXIT WHEN CurseurTypeFlux%NOTFOUND; insert into tmp_type_flux(tf_libelle , tf_code) values(record.libelle,record.code); END LOOP; CLOSE CurseurTypeFlux; END;
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 PL/SQL: SQL Statement ignored record recordTypeFlux%ROWTYPE; * ERREUR à la ligne 10 : ORA-06550: Ligne 10, colonne 9 : PLS-00310: avec l'attribut %ROWTYPE, 'RECORDTYPEFLUX' doit nommer un curseur ou une table ou une variable curseur ORA-06550: Ligne 10, colonne 9 : PL/SQL: Item ignored ORA-06550: Ligne 19, colonne 35 : PLS-00320: déclaration de type de cette expression est incomplète ou mal structurée ORA-06550: Ligne 19, colonne 8 : PL/SQL: SQL Statement ignored ORA-06550: Ligne 22, colonne 78 : PLS-00320: déclaration de type de cette expression est incomplète ou mal structurée ORA-06550: Ligne 22, colonne 85 : PL/SQL: ORA-00984: Un nom de colonne n'est pas autorisé ici ORA-06550: Ligne 22, colonne 8 : PL/SQL: SQL Statement ignored
Partager