基本上就是这样 create or replace trigger test after delete or insert or update on 现有用户表 for each row declare begin if inserting then MERGE INTO 用户总表 d USING (select :new.id id from dual where rownum=1) s ON (d.id = s.id) WHEN MATCHED THEN UPDATE SET d.操作时间 = sysdate WHEN NOT MATCHED THEN INSERT (d.id,d.操作时间) VALUES (s.id,sysdate); elsif deleting then update 用户总表 set 操作时间=sysdate where id=:old.id; elsif updating then update 用户总表 set 操作时间=sysdate where id=:old.id; end if; end; /
还有delete的时候,应该是记录delete的日期或者时间吧?而不是你说的“添加对应记录中删除时间字段
"
create or replace trigger test
after delete or insert or update on 现有用户表
for each row
declare
begin
if inserting then
MERGE INTO 用户总表 d
USING (select :new.id id from dual where rownum=1) s
ON (d.id = s.id)
WHEN MATCHED THEN
UPDATE SET d.操作时间 = sysdate
WHEN NOT MATCHED THEN
INSERT (d.id,d.操作时间) VALUES (s.id,sysdate);
elsif deleting then
update 用户总表 set 操作时间=sysdate where id=:old.id;
elsif updating then
update 用户总表 set 操作时间=sysdate where id=:old.id;
end if;
end;
/
非常感谢...代码很有帮助~~晚上添加完触发器就结贴!!