我正在开发一个代码库,它具有以下类型的模式,用于为表生成代理键。
create or replace
TRIGGER TEST_TRIG
BEFORE INSERT OR UPDATE
ON my_table
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
BEGIN
IF INSERTING THEN
IF NVL(:NEW.column1, 0) = 0 THEN
SELECT my_table_seq.NEXTVAL
INTO :NEW.column1
FROM dual;
END IF;
END IF;
END;
以及调用此代码的 PL/SQL 逻辑,
begin
insert into my_table(0);
end;
我的问题是触发器需要什么?为什么不做一个,
insert into my_table(my_table_seq.next_val)
并收工?任何见解将不胜感激。谢谢。