Dienstag, 15. Oktober 2013

Trigger-Beispiel für eine fortlaufende Änderungsnummer

1. Erzeugen einer Sequenz

CREATE SEQUENCE SEQ_AENDNR_CT_DEPT
       MINVALUE 1
       MAXVALUE 999999
   INCREMENT BY 1
     START WITH 1
         CACHE 20
       NOORDER 
       NOCYCLE
;

2. Der Trigger, der einen neuen Wert aus der Sequenz erzeugt und einfügt

CREATE OR REPLACE
TRIGGER T_SEQ_AendNr_CT_Dept
BEFORE INSERT 
ON CT_Dept  
FOR EACH ROW
DECLARE
  -- Lokale Variablen
  next_id NUMBER;
BEGIN
  SELECT SEQ_AENDNR_CT_DEPT.NEXTVAL INTO next_id
    FROM dual;
  :NEW.AENDERUNGSNUMMER := next_id;
END T_SEQ_AendNr_Fachlsperre;
/

[s.a. SQL-kurz&gut, J. Gennick, 2. Auflage 2007, S. 139, O'REILLY]

Keine Kommentare: