我有那张桌子:TRANSFERS(姓名,姓氏,日期0,日期,联盟,团队) 一个玩家可以出现不止一次。如果有一个dateF null并且我插入一个具有相同名称和姓氏的新行,我必须在date0 new之前更改dateF null
我该怎么做?
CREATE OR REPLACE TRIGGER T1
BEFORE INSERT OR UPDATE on transfers
FOR EACH ROW
BEGIN
UPDATE transfers
SET dateF=:NEW.date0
WHERE dateF IS NULL and name=:NEW.nameand surname=:NEW.surname;
END T1;
/
我获得了变异表的错误
我使用oracle
答案 0 :(得分:0)
您无法在针对其正在执行的表的触发器中执行更新。您可以使用pragma autonomous做一些事情,但是如果您的初始插入或更新失败,则不会回滚。
答案 1 :(得分:0)
尝试使用INSTEAD OF触发器并自行进行插入和更新。