Bonjour,
J'exécute une requête SQL dynamique à l'aide de EXECUTE IMMEDIATE et en utilisant le mot clef USING pour passer des variables, mais mon problème est que j'utilise deux fois un même paramètre dans la requête.
Oracle me sort un message d'erreur :
ORA-01008: Toutes les variables ne sont pas liées
ORA-06512: à "PSCM.NPALIMTBPSCM01", ligne 37
ORA-06512: à ligne 11
Exemple requête :
Deux fois :1 pose problème !mySqlInsert :='INSERT INTO TABLEX (SELECT :1 FROM TABLEY a WHERE a.CODE=:1 AND a.PAYS=:2)';
EXECUTE IMMEDIATE mySqlInsert USING myCode, myPays;
COMMIT;
Je dois faire :
Une autre façon de procéder selon vous ? Je ne trouve pas cela propre...mySqlInsert :='INSERT INTO TABLEX (SELECT :1 FROM TABLEY a WHERE a.CODE=:2 AND a.PAYS=:3)';
EXECUTE IMMEDIATE mySqlInsert USING myCod, myCode, myPays;
COMMIT;
Merci pour votre aide !
Partager