现在有两张表 A 报名表 B 消息表
A 表 报名表
ID Name
1 小张
2 小明
3 小华B 表 消息表ID Name Info
1 小张 已删除
2 小明 已删除
3 小华 已删除现在问题是把A 表先删除掉前 发消息给报名的人说报名名单已删除了!对B表消息 循环添加要怎么写呢?我的思路:先把A表报名表的人名查询出来,然后在添加到B表消息表写入“已删除”信息,然后在把A表所以报名名单删除掉!但是不知道存储过程要怎么写这样子的循环。
A 表 报名表
ID Name
1 小张
2 小明
3 小华B 表 消息表ID Name Info
1 小张 已删除
2 小明 已删除
3 小华 已删除现在问题是把A 表先删除掉前 发消息给报名的人说报名名单已删除了!对B表消息 循环添加要怎么写呢?我的思路:先把A表报名表的人名查询出来,然后在添加到B表消息表写入“已删除”信息,然后在把A表所以报名名单删除掉!但是不知道存储过程要怎么写这样子的循环。
遍历每一行,
open cur2 for
select 字段
from 表1 m, 表2 i
where m.m1= i.i1
loop
fetch cur2
into P_PLM_OID, P_PLM_M_OID, P_plm_m_id;
exit when cur2%notfound;
--业务逻辑
end loop;
close cur2;
on A
after delete
as
insert into b select id,name,'已删除' from deleted
对A的delete 执行 B的update
打一个Log到B表
两次操作放一个transaction里。
类似:begin try
begin tran
-- operation1
-- operation2
commit tran
end try
begin catch
rollback tran
end catch