Wenn ich die Wahl habe, erstelle ich eine Tabelle in Oracle-Datenbanken mit folgender Grundstruktur:
create table NEW_TABLE ( id number not null , my_column varchar2(200) , created_on date , created_by varchar2(200) , updated_on date , updated_by varchar2(200) ); create unique index NEW_TABLE_pk on NEW_TABLE (id asc); alter table NEW_TABLE add constraint NEW_TABLE_pk primary key (id) using index NEW_TABLE_pk enable; create sequence NEW_TABLE_seq increment by 1; create or replace trigger NEW_TABLE_trg before insert or update on NEW_TABLE for each row declare v_user varchar2(200); begin v_user := coalesce( sys_context('apex$session', 'app_user'), sys_context('userenv', 'os_user'), sys_context('userenv', 'session_user') ); if inserting then if :new.id is null then :new.id := NEW_TABLE_seq.nextval; end if; :new.created_on := sysdate; :new.created_by := v_user; :new.updated_on := sysdate; :new.updated_by := v_user; end if; if updating then :new.updated_on := sysdate; :new.updated_by := v_user; end if; end; / alter trigger NEW_TABLE_trg enable;