34,873
社区成员
发帖
与我相关
我的任务
分享 --把合符条件的目标权限Id加载到一个临时表变量中
DECLARE @tbTargetPermissions table(IndexId int IDENTITY (0, 1) NOT NULL PRIMARY KEY, TargetPermissionId uniqueidentifier NOT NULL)
INSERT INTO @tbTargetPermissions
SELECT [TargetPermissionId]
FROM [ps_RolePermissions]
WHERE [TargetId] = @TargetId AND [RoleId] = @RoleId
DECLARE @MaxIndexId int;
SELECT @MaxIndexId = MAX([IndexId]) FROM @tbTargetPermissions; --计算最大记录序号,用于遍历列表
WHILE @MaxIndexId > -1
BEGIN
DECLARE @TargetPermissionId uniqueidentifier;
SELECT @TargetPermissionId = [TargetPermissionId] FROM @tbTargetPermissions WHERE [IndexId] = @MaxIndexId;
EXEC ps_TargetPermissionEntity_Select @TargetPermissionId;
--删除最大记录项,重新判断记录项是否大于-1,以此判断是否遍历完列表
DELETE @tbTargetPermissions WHERE [IndexId] = @MaxIndexId;
SELECT @MaxIndexId = MAX([IndexId]) FROM @tbTargetPermissions
--SELECT @MaxIndexId--测试(倒序)
END