-- 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;