Oracle 建立触发器比较两张表相同字段的数据,再更新另一个字段
有两张表A与B,A和B有一个相同的字段m,要创建一个触发器实现:每当B插入一条数据后,将B的m字段内数据和A的m字段内数据比较(A的m字段已插入数据),当A.m=B.m时...
有两张表A与B,A和B有一个相同的字段m,要创建一个触发器实现:每当B插入一条数据后,将B的m字段内数据和A的m字段内数据比较(A的m字段已插入数据),当A.m=B.m时,更新A.STATUS=1.
我的代码是:
create trigger XXX
after insert
on B
for each row when(new.m is not null)
begin
update A set STATUS=1
where A.m=B.m;
end;
/
报错B.m为无效的标识符
请问应该怎么编写代码实现上述功能,请大神们指点指点,非常感谢orz... 展开
我的代码是:
create trigger XXX
after insert
on B
for each row when(new.m is not null)
begin
update A set STATUS=1
where A.m=B.m;
end;
/
报错B.m为无效的标识符
请问应该怎么编写代码实现上述功能,请大神们指点指点,非常感谢orz... 展开
展开全部
create or replace trigger XXX
for each row when(:new.m is not null)
begin
update A set STATUS=1 where A.m=:NEW.m;
end;
/
追答
--加一点说明:你这个触发器的名字不可有特殊字符。
--这个我编译通过了,你在试试,学Oracle你要努力哦。
CREATE OR REPLACE TRIGGER TESTUSER.XXXSTU
AFTER INSERT
ON NEW_COMM
FOR EACH ROW
WHEN (NEW.UUID IS NOT NULL )
DECLARE
BEGIN
UPDATE STUDENT SET SELLING=1 WHERE UUID=:NEW.UUID;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END XXXSTU;
/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询