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;

 

posted @ 2015-10-10 03:37  Tom1997  阅读(360)  评论(0编辑  收藏  举报