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

sqlinsert触发器遍历inserted表取数据操作

程序员文章站 2022-07-02 18:52:48
sqlinsert触发器遍历inserted表取数据操作,有时候使用组合语句 Insert into TableName Select *from Inserted wher...

sqlinsert触发器遍历inserted表取数据操作,有时候使用组合语句

Insert into TableName Select *from Inserted where ...
或者
Update TableA set TableA .1 =TableAB.1 ,TableA .2 =TableB.2 from TableB where (TableB.x =xx or TableB.3 =TableA.2)
可以直接遍历到临时表中所有符合的数据并且执行insert或者update语句,但是也有时候不用这样的组合语句的时候 只能读取到比如说inserted表中的第一条数据,并不是对每一条insert都会触发。所以笔者翻阅了好几天网上,得知可以用游标来循环遍历数据表进而可以对每条数据进行操作。具体代码如下:
Creat Trigger triggerName on TableName
	for inserted
as
	/*一些操作*/
	delclare cur_Insert	cursor  for /*申明游标*/
		select * from inserted
			open cur_Insert
				fetch next from cur_Insert into @a,@b ...
				/*一些操作*/
		while @@FETCH_STATUS =0
			begin
				/*一些操作*/
				fetch next from cur_Insert into @a,@b ...  /*重点别忘了*/
			end
	close cur_Insert
	deallocate cur_Insert