天天看點

Oracle建立觸發器實作主鍵自增

CREATE OR REPLACE TRIGGER "trigger_empl"
   before insert on extjsTest1.t_empl
   for each row
begin
   if inserting then
      if :NEW."EID" is null then
         select SEQ_EMPL.nextval into :NEW."EID" from dual;
      end if;
   end if;
end;      

說明:trigger_empl是自定義觸發器的名字,extjsTest1是使用者名,t_empl是指定的表名,EID是t_empl中的主鍵名。

注意:EID一定要大寫!否則無法成功建立觸發器。

簡潔準确的寫法:

CREATE OR REPLACE TRIGGER TRIGGER_TNEWCHILDSTRATEGY

BEFORE   INSERT   ON   TNEWCHILDSTRATEGY

FOR   EACH   ROW

BEGIN

SELECT   SEQ_NEWCHILDSTRATEGY.NEXTVAL   INTO   :NEW.ICHILDSTRATEGYID   FROM   DUAL;

END;