maCollection(i).colonne1 contient bien
INSERT INTO TABLE2 ( SELECT * FROM TABLE3)
C'est la manière dont j'utilise la variable :1 et USING qui doit être erronée.
Si je tente le USING avec le FOR LOOP et que je remplace
colonne1=INSERT INTO TABLE2 ( SELECT * FROM TABLE3) par
colonne1=( SELECT * FROM TABLE3)
1 2 3 4 5 6 7
| OPEN monCurseur;
FETCH monCurseur BULK COLLECT INTO maCollection;
CLOSE monCurseur;
FOR i IN maCollection.FIRST..maCollection.LAST LOOP
DBMS_OUTPUT.PUT_LINE('MA REQUETE='|| maCollection(i).colonne1;
EXECUTE IMMEDIATE 'INSERT INTO TABLE2 :1' USING maCollection(i).colonne1;
END LOOP; |
J'obtiens l'erreur
1 2
| MA REQUETE=( SELECT * FROM TABLE3)
EXCEPTION ORA-00926: mot-clé VALUES absent |
donc ,j'en conclus que ma variable :1 est remplacée par le vide.
Partager