create or replace trigger tr1 before insert /* либо: before, after; либо: insert, update delete */ on tbl1 begin insert into audit(data) values (sysdate); end; create or replace trigger tr1 before insert on tbl1 begin insert into tblaudit(id) values (4); end; insert into tbl1(id, name) values(1, 'first'); create or replace trigger tr2 before update on tbl1 for each row begin insert into tblaudit(id) values (5); end; select * from user_triggers where trigger_name='TR2'; alter trigger tr2 enable; // disable create or replace trigger tr3 before insert on tbl1 for each row declare p_txt varchar2(20); begin p_txt := :new.name; insert into tblaudit(content) values(p_txt); end; create or replace trigger tr3 before insert on tbl1 for each row declare p_txt tbl1.name%type; begin p_txt := :new.name; insert into tblaudit(content) values(p_txt); end; create or replace trigger tr3 before insert on tbl1 for each row declare p_txt tbl1.name%type; p_tbl1 tbl1%rowtype; begin p_txt := :new.name; insert into tblaudit(content) values(p_tbl1.name); end; || конкатенация nvl(variable, value if NULL) create or replace trigger tr4 before update or insert of name on tbl1 for each row when (new.name = 'Vasya') begin insert into tblaudit(id) values (55); end;