Problême déclencheur oracle
Bonjour,
j'aimerais incrémenter automatiquement une valeur dans une table et qu'elle s'incrémente également dans une autre table.
Voici mon code actuel qui ne fonctionne pas:
les 2 première partie marche
/*Création d'une séquence d'auto incrémentation */
CREATE SEQUENCE seq_autoIncrementOrdeCadre
START WITH 1
MAXVALUE 999999999999999999999999
MINVALUE 1
NOCYCLE
NOCACHE
NOORDER;
/*Création d'un déclencheur */
CREATE TRIGGER autoIncrementOrdeCadre
BEFORE INSERT
ON cadre
FOR EACH ROW
BEGIN
SELECT seq_autoIncrementOrdeCadre.NEXTVAL
INTO :NEW.ordre_cadre
FROM dual;
END ;
/
j'ai une erreur à partir d'ici:
/*Création d'un déclencheur */
CREATE TRIGGER autoIncrementOrdeCadreLigne
BEFORE INSERT
ON cadre_ligne
FOR EACH ROW
BEGIN
SELECT seq_autoIncrementOrdeCadre.NEXTVAL
INTO :NEW.ordre_cadre
FROM dual;
END ;
/
pb de séquence dans un déclencheur
Bonsoir,
Tu dois récupérer la séquence dans une variable, puis utiliser cette variable.
Cdt
Merci De Tester Les Solutions Proposees
Essaye au moins les solutions que l'on te donne, je suis sûr que ça marche, car extrait d'une de mes applis.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
CREATE TRIGGER autoIncrementOrdeCadreLigne
BEFORE INSERT
ON cadre_ligne
FOR EACH ROW
DECLARE
no number;
BEGIN
SELECT seq_autoIncrementOrdeCadre.NEXTVAL
INTO /*:NEW.ordre_cadre*/ no
FROM dual;
:NEW.ordre_cadre := no ;
END ; |