テーブルの代理キーを生成するための次のタイプのパターンを持つコードベースに取り組んでいます。
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)
そしてそれを一日と呼びますか?どんな洞察も大歓迎です。ありがとう。