-- Create a table with date creation and date update fields CREATE TABLE my_table ( my_pk INTEGER NOT NULL, my_text VARCHAR(20), dcr DATE DEFAULT SYSDATE NOT NULL, dup DATE DEFAULT SYSDATE NOT NULL, PRIMARY KEY(my_pk) ); -- Sequence for my_table CREATE SEQUENCE my_table_seq INCREMENT BY 1 START WITH 1 ORDER; -- Autonumber for the primary key CREATE OR REPLACE TRIGGER my_table_seq_tri BEFORE INSERT ON my_table FOR EACH ROW BEGIN SELECT my_table_seq.nextval INTO :new.my_pk FROM dual; END; -- dup field (date update) updated automatically CREATE OR REPLACE TRIGGER my_table_upd_tri BEFORE UPDATE ON my_table FOR EACH ROW BEGIN :new.dup := sysdate; END;