求教一触发器

streamsilver 2003-11-12 02:51:56
求教一触发器
有2个表A,B
A(
XH VARCHAR2(4), 序号
SL NUMBER 数量
)
B表与b表结构相同

当向A插入一条纪录时,判断的B表中序号是否有与插入纪录的序号相同,如果有则把新插入纪录的数量加到B表中
如果没有,则在B表中插入一条相同的纪录。
简单说:有同中序号的数量相加,没有则新插入一条纪录。

十分感谢!!

...全文
19 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
beckhambobo 2003-11-12
  • 打赏
  • 举报
回复
create trigger a_tri
before insert on a
for each row
begin
update b set SL=SL+1 where XH=:new.XH;
if sql%rowcount=0 then
insert b values(:new.sl,:new.xh);
end if;
end;
/
mydb 2003-11-12
  • 打赏
  • 举报
回复
create or replace trigger aa
on A before insert
for each row
declare
v_n number;
begin
select count(1) into v_n
from dual
where exists
(select 1 from b where xh=:new.xh)
if v_n > 0 then
update b set sl=sl+:new.sl;
else
insert into b values(:new.xh,:new.sl)
end if;
end;

streamsilver 2003-11-12
  • 打赏
  • 举报
回复
对不起,有一处写错了:应该是B表与A表结构相同


17,088

社区成员

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

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