Bonsoir ,
j'essaye de remplacer dans une procédure le code suivant,qui fonctionne,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
EXECUTE IMMEDIATE maCollection(i).colonne1;
END LOOP;
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
OPEN monCurseur;
FETCH monCurseur BULK COLLECT INTO maCollection;
CLOSE monCurseur;
FORALL i IN maCollection.FIRST..maCollection.LAST LOOP
EXECUTE IMMEDIATE ':1' USING maCollection(i).colonne1;
END LOOP;
maCollection(i).colonne1 contient une instruction du type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
INSERT INTO TABLE2 ( SELECT * FROM TABLE3)
Mais en faisant cela ,je reçois à l’exécution l'erreur suivante: "invalid SQL statement"
J'ai l'impression que j'utilise le USING de manière incorrecte.Pourriez-vous m'aider?