成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

得到SQL Server用戶的繼承列表實戰演示

數據庫 SQL Server
以下的的文章主要向大家講述的是得到SQL Server用戶的繼承列表的實際操作方案,以下就是文章的主要內容的描述。

文章主要描述的是如何得到SQL Server用戶的繼承列表,我們大家都知道在實際開發中特別是在做權限管理的時候,我們經常要對對某個SQL Server用戶的權限進行全面檢索,本文給出SQL Server中的一個實例.

 

用戶繼承樹

 

CREATE function getUserTree(@UserName sysname, SQL Server用戶名

 

@Seq

 

在實際開發中,尤其是在做權限管理的時候,常常要對對某個用戶的權限進行檢索,本文給出SQL Server中的一個實例.

 

SQL Server用戶繼承樹

 

CREATE function getUserTree(@UserName sysname, 用戶名

 

@Seq bit 查找方式:0查找子孫 1.查找祖先

 

  1. )  
  2. returns @Result table(UserID sysname,UserName sysname,Level int)  
  3. as  
  4. begin  
  5. declare @UserId sysname  
  6. set @userId=user_id(@userName)   
  7. if @userid is null   
  8. begin  
  9. raiserror(''指定的用戶名不存在'',16,1)  
  10. return  
  11. end  
  12. DECLARE @level int, @line char(20)  
  13. declare @stack table(item sysname, level int)  
  14. INSERT INTO @stack VALUES (@UserID, 1)  
  15. SELECT @level = 1 
  16. WHILE @level > 0  
  17. BEGIN  
  18. IF EXISTS (SELECT * FROM @stack WHERE level = @level)  
  19. BEGIN  
  20. SELECT @userId = item 
  21. FROM @stack  
  22. WHERE level = @level  
  23. insert into @Result values(@UserId,User_name(@userID),@level)  
  24. DELETE FROM @stack  
  25. WHERE level = @level  
  26. AND item = @userId  
  27. if @Seq=1 查找祖先  
  28. INSERT @stack  
  29. SELECT groupuid, @level + 1  
  30. FROM sysmembers  
  31. WHERE memberuid = @userId  
  32. else 查找子孫  
  33. INSERT @stack  
  34. SELECT memberuid, @level + 1  
  35. FROM sysmembers  
  36. WHERE groupuid = @userId  
  37. IF @@ROWCOUNT > 0  
  38. SELECT @level = @level + 1  
  39. END  
  40. ELSE  
  41. SELECT @level = @level - 1  
  42. END  WHILE   
  43. return   
  44. end  

實例:

  1. exec sp_addrole ''Users''  
  2. exec sp_addrole ''BusinessMan''  
  3. exec sp_addrolemember ''Users'',''BusinessMan''  
  4. exec sp_addrole ''Saler''  
  5. exec sp_addrolemember ''BusinessMan'',''Saler''  
  6. exec sp_addlogin ''OrderMan'',''OrderMan'',''lifeng''  
  7. exec sp_addrolemember ''Saler'',''OrderMan''  
  8. exec sp_grantdbaccess ''OrderMan'',''OrderMan''  
  9. select * from getUserTree(''OrderMan'',1)  

結果顯示

  1. UserID USRENAME Level  
  2. 5 OrderMan 1  
  3. 16402 Saler 2  
  4. 16401 BusinessMan 3  
  5. 16403 Users 4 

這種方法,也在MRP/ERP系統中遍歷BOM時使用

 

上述的相關內容就是對得到SQL Server用戶的繼承列表 的描述,希望會給你帶來一些幫助在此方面。

 

【編輯推薦】

  1. SQL Server設定過濾條件提高索引效率
  2. SQL Server 2008 R2進入到RTM 會有哪些新特性?
  3. C#來對SQL Server存儲過程進行創建
  4. SQL Server導入升級還有什么你沒做?
  5. SQL Server索引的使用誤區講述
責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-05 12:09:16

SQL Server

2010-07-14 09:41:26

SQL Server數

2010-06-18 10:25:49

SQL Server

2010-07-21 09:50:12

SQL Server子

2010-07-05 15:04:36

SQL Server刪

2010-06-30 08:46:51

升級SQL Serve

2010-07-22 16:21:33

SQL Server使

2010-07-16 17:03:35

SQL Server

2010-07-14 10:03:40

SQL Server

2010-07-22 09:33:45

SQL Server全

2010-07-01 16:58:43

SQL Server

2010-07-21 17:07:42

SQL Server

2010-07-20 08:48:14

SQL Server

2010-09-13 14:03:58

2010-06-13 14:49:02

MySQL創建遠程登陸

2010-07-20 17:47:12

2010-12-21 09:47:45

SQL Server

2014-03-17 10:34:48

SQL Server

2010-07-05 10:37:00

2010-09-27 14:36:24

SQL Server用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人网综合 | 国产激情在线 | 一区二区三区欧美 | 亚洲国产精品一区二区三区 | 久久久久久久国产精品影院 | 欧州一区| 无人区国产成人久久三区 | 91在线电影 | 国产中文字幕在线观看 | 成人久久久 | 最新国产视频 | 九九久久国产精品 | 91久久精品国产91久久性色tv | 国产精品一区在线 | 天天综合久久 | 综合久久色 | 天天夜天天操 | 久久免费视频网 | 激情网五月天 | 人人操日日干 | 草久久久| 一级做a爰片性色毛片16美国 | 国产亚洲精品综合一区 | 一区二区三区四区av | 久久久久久国产精品 | 欧美大片一区二区 | 精品一区二区在线观看 | 在线播放亚洲 | 成人特级毛片 | 亚洲成人免费观看 | 91视频在线看 | 亚洲天天 | 黄色中文字幕 | 精品国产视频 | 中文字幕在线一区 | 日韩欧美在线播放 | 欧美在线a | 国产中文视频 | 久久r精品 | 91高清视频在线 | 一级做a爰片性色毛片16美国 |