服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - sqlserver中触发器+游标操作实现

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

2019-12-24 14:30MSSQL教程网 Sql Server

sqlserver中触发器+游标操作实现,需要的朋友可以参考下

代码如下:


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 

延伸 · 阅读

精彩推荐