Sequence et Insert : Variables
Bonjour,
J'ai trouvé plusieurs sujets abordant le problème mais à chaque fois mes tests ne sont pas concluants.
Pour information, je n'ai pas accès à RETURNING INTO (histoire de version) et je ne souhaite pas ajouter un trigger à la table existante, je n'utilise pas SQL*Plus. C'est un fichier SQL destiné à être exécuté chez les clients (et ici en dev d'abord).
En gros, j'ajoute un profil dans une table PROFIL qui a en guise de colonne, un identifiant auto-incrémenté par une séquence SEQ_PROFIL et un libellé.
Derrière, je veux ajouter des droits avec ce profil, mais il faut que je récupère l'identifiant inséré.
Commençons par faire simple :
Code:
1 2
| SELECT SEQ_PROFIL.nextval INTO :profil_id FROM DUAL;
INSERT INTO PROFIL (id, label) VALUES (:profil_id, 'Nouveau profil'); |
Quand j'exécute la commande 1, pas d'erreur.
Quand j'exécute les commandes 1 et 2, erreur :
Citation:
ORA-01008: toutes les variables ne sont pas liées
J'ai loupé quelque chose ? Comment faut-il que je déclare la variable ?
NB : Quand j'essaye de faire :
Code:
DEFINE profil_id INT;
J'ai l'erreur :
Citation:
ORA-00900: instruction SQL non valide