SQL根据数组标识添加多条记录的例子
DECLARE @UserID varchar(20)
DECLARE @RoleID varchar(2000)
SET @UserID='1'
SET @RoleID='445,33,43554,55,556,'
DELETE FROM userole WHERE userid=@UserID
SET @RoleID=stuff(@RoleID,len(@RoleID),1,'')

set @RoleID=@RoleID+','
DECLARE @strSQL nvarchar(2000)
while charindex(',',@RoleID)>0
begin

select @strSQL=left(@RoleID,charindex(',',@RoleID)-1)

print('INSERT INTO userole(userid,roleid)VALUES('''+@UserID+''','''+@strSQL+''')')
set @RoleID=stuff(@RoleID,1,charindex(',',@RoleID),'')

end
DECLARE @UserID varchar(20)
DECLARE @RoleID varchar(2000)
SET @UserID='1'
SET @RoleID='445,33,43554,55,556,'
DELETE FROM userole WHERE userid=@UserID
SET @RoleID=stuff(@RoleID,len(@RoleID),1,'')
set @RoleID=@RoleID+','
DECLARE @strSQL nvarchar(2000)
while charindex(',',@RoleID)>0
begin
select @strSQL=left(@RoleID,charindex(',',@RoleID)-1)
print('INSERT INTO userole(userid,roleid)VALUES('''+@UserID+''','''+@strSQL+''')')
set @RoleID=stuff(@RoleID,1,charindex(',',@RoleID),'')
end

本文介绍了一种使用SQL在已知用户ID的情况下,根据角色ID数组批量插入多条记录的方法。通过字符串操作和循环处理,实现了高效的数据更新和插入。
3451

被折叠的 条评论
为什么被折叠?



