CREATE TRIGGER trigger_name AFTER DELETE ON col_name FOR EACH ROW BEGIN insert into table2(sys_time) values(current_timestamp at time zone 'GMT'); END;删除执行的代码应该无法确定。
时间好插 关键是执行的delete代码怎样确定 等待高手
如果是oracle9.2.0.7之前的版本 可以在delete的trigger中使用如下语句获得DML。CREATE OR REPLACE TRIGGER del_DML tmp BEFORE DELETE ON table1 declare n number; stmt varchar2(4000); sql_text ora_name_list_t; begin n := ora_sql_txt(sql_text); FOR i IN 1..n LOOP stmt := stmt || sql_text(i); END LOOP; --insert into table2(userid,str) values(user,stmt); end;不过在9.2.7之后这个功能被作为BUG修正了,之后就不能再用了。 包括10G
AFTER DELETE ON col_name
FOR EACH ROW
BEGIN
insert into table2(sys_time) values(current_timestamp at time zone 'GMT');
END;删除执行的代码应该无法确定。
关键是执行的delete代码怎样确定
等待高手
可以在delete的trigger中使用如下语句获得DML。CREATE OR REPLACE TRIGGER del_DML tmp
BEFORE DELETE ON table1
declare
n number;
stmt varchar2(4000);
sql_text ora_name_list_t;
begin
n := ora_sql_txt(sql_text);
FOR i IN 1..n LOOP
stmt := stmt || sql_text(i);
END LOOP;
--insert into table2(userid,str) values(user,stmt);
end;不过在9.2.7之后这个功能被作为BUG修正了,之后就不能再用了。
包括10G