create table test
(
 id number,
 status varchar2(10)
)
/
--测试表实现功能:当发生test 被update的时候,并且status='UNC'的时候,把status='MOD'
考虑到用触发器:CREATE OR REPLACE TRIGGER TRI_on_test
AFTER update
ON test
REFERENCING OLD AS O NEW AS N
FOR EACH ROW
BEGIN
IF update(test.status)&& :N.status='UNC' THEN
  update test  t set status='MOD' where t.rowid=:N.rowid and t.status='MOD';
END IF;
EXCEPTION
  WHEN OTHERS THEN
  RAISE_APPLICATION_ERROR(SQLCODE,SQLERRM);
END;
但是这样有个问题,没办法在更新表的同时,再更新自己,请问有没有办法实现这样的功能?