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;