SQL Server遍历查询出的数据集合

本文介绍了在SQL Server中如何遍历查询出的数据集合,包括三种方法:使用游标执行存储过程实现用户与组的关系建立;利用表变量进行面向集合的操作;以及通过临时表在tempdb中处理数据,讨论了#和##临时表的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求场景:
公司服务迁移,需要将旧的用户数据表迁移到新的以组角色权限管理的表中,原来只有用户信息,将用户信息使用自己写的C++程序导入到新的用户表后,需要将用户统一划分到某一组里,这时需要遍历查询到的用户id,将这个id和组id绑定到另一张关系表中。
在导入用户数据表时,因为以前有重复的电话和邮箱,新的表要将这些做unique,所以对这些重复的数据进行了特殊处理,这里不做讨论。

一、使用游标

查询到用户的所有id集合,然后使用游标遍历,再用存储过程将这个id插入到关系表中;

存储过程

create proc GroupInsertUser(@groupid bigint, @userid bigint)
as 
insert into GroupOwnUser (groupId,userId,userIdentity, state,createDTime,cancellationDTime) values(@groupid, @userid,1, 1, GETDATE(),GETDATE())

执行的语句:

--声明一个变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值