触发器是这样写的:
CREATE OR REPLACE TRIGGER TBL_TEST_UPD
AFTER
UPDATE
ON TBL_TEST
FOR EACH ROW
DECLARE BEGIN
IF :old.COL1 <> :new.COL1 THEN
funTest(:new.COL1);
END IF;
END;在函数funTest里面,又使用了表TBL_TEST,从表TBL_TEST中取得数据(取得条件中使用了更新后的COL1这个字段)。执行这个触发器,会出错(说表TBL_TEST被更新了之类的错误)。想问:更新表之后调用触发器(AFTER)情况下,触发器的处理里不能使用被更新的这张表吗?
如果可以的话,要做什么样的处理吗谢谢各位大虾,请执教!
CREATE OR REPLACE TRIGGER TBL_TEST_UPD
AFTER
UPDATE
ON TBL_TEST
FOR EACH ROW
DECLARE BEGIN
IF :old.COL1 <> :new.COL1 THEN
funTest(:new.COL1);
END IF;
END;在函数funTest里面,又使用了表TBL_TEST,从表TBL_TEST中取得数据(取得条件中使用了更新后的COL1这个字段)。执行这个触发器,会出错(说表TBL_TEST被更新了之类的错误)。想问:更新表之后调用触发器(AFTER)情况下,触发器的处理里不能使用被更新的这张表吗?
如果可以的话,要做什么样的处理吗谢谢各位大虾,请执教!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货