欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sqlserver中触发器+游标操作实现

程序员文章站 2023-11-29 09:50:10
复制代码 代码如下: create trigger tri_wk_csvhead_history on wk_csvhead_history --声明一个tri_wk_cs...

复制代码 代码如下:

create trigger tri_wk_csvhead_history on wk_csvhead_history
--声明一个tri_wk_csvhead_history触发器,
instead of insert ---插入操作被代替执行下面的操作
as
begin
declare yb cursor --声明一个游标
for
 select noteno from inserted--这里的noteno要和下面的匹配
 open yb
  declare @noteno varchar(50)--这里的noteno要和上面的匹配,定义一个游标变量@noteno,用来操作insered表中的noteno.
  fetch next from yb into @noteno--这里的noteno要是上面的匹配,移动游标
  while(@@fetch_status=0)--0操作成功,-1 fetch 语句失败或此行不在结果集中,-2 被提取的行不存在
  begin
  delete from wk_csvdetail_history where noteno=@noteno
   delete from wk_csvhead_history where noteno=@noteno
  fetch next from yb into @noteno --继续移动游标,直到@@fetch_status不等于时.
   end
close yb --关闭游标
deallocate yb --释放游标
insert into wk_csvhead_history select * from inserted
end