Je suis en train d'apprendre Oracle et je comprends le concept de déclencheurs et de séquences. Ce que je n'arrive pas à trouver, c'est comment ils sont utilisés ensemble d'une manière auto-incrémentée similaire à un paramètre SqlServer Identity. Dans un exemple très simple, j'ai une table appelée Employees qui a trois champs (tous requis): EmployeeID (PK), FirstName, LastName. J'ai créé une séquence pour obtenir la valeur suivante pour le champ ID. J'ai alors créé un déclencheur qui ressemble à ceci:Comment utiliser un déclencheur qui obtient la valeur suivante dans une séquence
CREATE OR REPLACE TRIGGER MyFirstTrigger
BEFORE INSERT ON EMPLOYEES FOR EACH ROW
BEGIN
Select EMP_SEQ.NextVal into :NEW.EMPLOYEEID from dual;
END MyFirstTrigger;
/
Cependant, comment est-ce utilisé dans une instruction d'insertion? Une instruction d'insertion avec uniquement les valeurs FirstName et LastName échoue pour "Pas assez de valeurs" (j'utilise Toad, d'ailleurs). Si je dois inclure EMP_SEQ.NextVal comme première valeur de l'instruction d'insertion, quel est le point de déclenchement?
J'espère que cela a du sens. Merci d'avance.
Impressionnant. C'est exactement ce que j'avais besoin de savoir. C'est tellement simple, mais je n'ai rien trouvé sur Internet ou dans le guide de l'utilisateur d'Oracle. Peut-être que c'est supposé que les gens le savent. Merci. –