关于触发器的一个小问题(在线等待)

super_cha 2004-01-05 09:13:31
现在有2个表,记录是一一对应的,我在对第一个表进行insert,delete,update的时候要对第二个表进行修改,现在能不能只针对发生变化的那条记录进行操作,如果可以,如何去做?
...全文
97 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lianhg 2004-01-05
  • 打赏
  • 举报
回复
只要有KEY,下面的就可以了,替换A,B的名
CREATE OR REPLACE TRIGGER TRI_A
BEFORE DELETE INSERT UPDATE
ON A FOR EACH ROW
BEGIN
IF UPDATEING THEN
UPDATE B SET fld1= :new.fld1
where fld1 = :old.fld1;
END IF;
END;
super_cha 2004-01-05
  • 打赏
  • 举报
回复
有没有个例子啊,在第一个表里某行做了变动,在第二表中只在那行进行修改,原来没有用过触发器,还请各位高手指教。
lianhg 2004-01-05
  • 打赏
  • 举报
回复
如果这两个表(A,B)建立key,那就没问题。下面
的代码只是个思路:

CREATE OR REPLACE TRIGGER TRI_A
BEFORE DELETE INSERT UPDATE
ON A FOR EACH ROW
BEGIN
...
IF UPDATEING THEN
UPDATE B SET fld1= :new.fld1
where fld1 = :old.fld1;
END IF;
kerisyml 2004-01-05
  • 打赏
  • 举报
回复
当然可以了,你在第一个表进行insert、delete、update的时候调用触发器修改第二个表即可,具体怎么作你可以去参考触发器的应用,很简单的
乐不 2004-01-05
  • 打赏
  • 举报
回复
用行级触发器呀,甚至可以建立争对某个字段的行级触发器

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧