能不能对一个表delete的触发器(行级)中,更新此表的其他行的值?

yxzhjm 2003-09-29 04:38:18
after delete on 表A for each row
declare ss char(30);

begin
ss:=:old.列C;
update 表A set 表A.列B = Null where 表A.列B = ss;
end
...全文
35 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nickle_Final 2003-10-08
  • 打赏
  • 举报
回复
关注
yxzhjm 2003-09-30
  • 打赏
  • 举报
回复
beckhambobo(beckham)你好,谢谢你的回答,问题解决了。
但是用了临时表,是否有其他更好的解决办法?
yxzhjm 2003-09-30
  • 打赏
  • 举报
回复
Lastdrop(空杯)你好,如何在语句级的触发器中实现?
vrv0129 2003-09-30
  • 打赏
  • 举报
回复
create or replace trigger s_trigger
after delete on 表A for each row
declare ss char(30);

begin
ss:=:old.列C;
update 表A set 表A.列B = Null where 表A.列B = ss;
end
beckhambobo 2003-09-29
  • 打赏
  • 举报
回复
create table test (p_c varchar2(30));

create trigger a_row_tri
before delete on A
for each row
begin
insert into test values(:old.C);
end;
/
create trigger a_tri
after delete on a
begin
update 表A set 表A.列B = Null where 表A.列B in (select p_c from test);
delete from test;
end;
/
black_snail 2003-09-29
  • 打赏
  • 举报
回复
先先
贝!

弓虽 !
black_snail 2003-09-29
  • 打赏
  • 举报
回复
先先
贝!

弓虽 !
black_snail 2003-09-29
  • 打赏
  • 举报
回复
先先 !


弓虽 !
Lastdrop 2003-09-29
  • 打赏
  • 举报
回复
不行,只能放在语句级的触发器中执行

17,078

社区成员

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

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