sql insert触发器遍历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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值