Bonjour,
Je déclare un cursor qui fait un select * sur une table spécifiée par l'utilisateur. Ensuite je parcours le cursor en stockant dans un record. Et ensuite je veux insérer dans une table la valeur du record. Le problème est qu'il faut que je connaisse la structure de la table. En manuel ca marche mais je ne vois pas comment le faire en dynamique :
Comme vous pouvez le voir les colonnes sont indiquées manuellement et j'aimerai pouvoir le faire dynamiquement. Comment faire ? POur un update on peut utiliser le ROW mais pas pour un insert apparement...
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 DECLARE CURSOR cur IS select * from &table; rec &table%ROWTYPE; ... begin ... loop FETCH cur INTO rec; EXIT WHEN cur%NOTFOUND; insert into &table2 values (rec.empno, rec.ename, rec.job, rec.mgr, rec.hiredate, rec.sal, rec.comm, rec.deptno); end loop; CLOSE FLASH_RECOVER; commit; end; /
Merci.
Partager