关于排序问题

来源:互联网 发布:数据库如何存储图片 编辑:程序博客网 时间:2024/05/01 07:48

根据组织机构的orgsort来确定人员的usersort
比如单位排序是001,则该单位下第一个人员的排序为001001
此存储过程别人帮忙写的,完成了我想要完成的目的,既在已有orgsort的基础上,初始化user sort。

DECLARE @orgID INT ,
@orgSort VARCHAR(32) ,
@userSort VARCHAR(32) ,
@count INT ,
@userID INT;
DECLARE orgCur CURSOR
FOR
SELECT orgid
FROM dbo.SysUserBiz
GROUP BY OrgID
ORDER BY OrgID;
OPEN orgCur
FETCH NEXT FROM orgCur INTO @orgID;
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @orgSort = Sort
FROM dbo.SYSOrg
WHERE OrgID = @orgID;
SELECT @count = 0;
DECLARE userCur CURSOR
FOR
SELECT UserID
FROM dbo.SysUserBiz
WHERE OrgID = @orgID
ORDER BY UserID;
OPEN userCur
FETCH NEXT FROM userCur INTO @userID;
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @count = @count + 1;
SELECT @userSort = ‘0000’ + CAST(@count AS VARCHAR(32));
SELECT @userSort = SUBSTRING(@userSort, LEN(@userSort) - 3, 4);
UPDATE dbo.SysUserBiz
SET Sort = @orgSort + @userSort
WHERE UserID = @userID
AND OrgID = @orgID;
FETCH NEXT FROM userCur INTO @userID;
END
CLOSE userCur
DEALLOCATE userCur
FETCH NEXT FROM orgCur INTO @orgID;
END
CLOSE orgCur
DEALLOCATE orgCur

0 0
原创粉丝点击