我想创建一个触发器,当某行数据的其中两列被更新为空时,就把该行数据删除。在SQL SERVER里这时很容易实现的。我写的触发器如下(该触发器没起作用):
create or replace trigger tr_deltemail
after update on MAILSYSTEM
for each rowbegin
if :new.SENDERDIR='' and :new.DELETER='' then
delete MAILSYSTEM where MAILSYSTEM.MAIL_ID=:old.MAIL_ID;
end if;
end tr_deltemail;
create or replace trigger tr_deltemail
after update on MAILSYSTEM
for each rowbegin
if :new.SENDERDIR='' and :new.DELETER='' then
delete MAILSYSTEM where MAILSYSTEM.MAIL_ID=:old.MAIL_ID;
end if;
end tr_deltemail;
if :new.SENDERDIR='' and :new.DELETER='' then
应该是
if :new.SENDERDIR is null and :new.DELETER is null then
而且这个触发器应该不能用,更新后已经把表锁住,查询都不行,更别说删除了
oracle 是行级锁。按libin_ftsafe的试试吧