2014-12-04 21 views
0

在SQL Server中,我有一個包含我可以把安全上 我想這個測試的角色名稱此列NomRole檢查is_member程序論點IS_MEMBER()過程

IF IS_MEMBER ('db_owner') = 1 
    print 'current user is a member of the db_owner role' 
else if IS_MEMBER(dbo.liaisecurité.NomRole) = 1 // <-- problem // 

,但它好像有當我把一列,而不是字符串中IS_MEMBER()過程 它說的多部分indentifier「dbo.liaisecurité.NomRole」無法綁定

回答

0

首先,除去嘗試從is_member()dbo問題。

嘗試somethink像

-- Execute SELECT if user is a member of ADVWORKS\Shipping. 
IF IS_MEMBER ('ADVWORKS\Shipping') = 1 
    SELECT 'User ' + USER + ' is a member of ADVWORKS\Shipping.'; 
GO 

而且,如果你想傳遞變量的值,使用這個樣本

Declare @owner varchar(20) 
SET @owner = 'db_owner' 
SELECT IS_MEMBER(@owner) 

參考 http://msdn.microsoft.com/en-us/library/ms186271.aspx

+0

感謝您的答案,但我不想測試只有一個變量.. 我有很多角色在我的專欄「NomRole」 – YArt 2014-12-04 21:22:43

+0

您是否刪除「dbo」後嘗試。 – HaveNoDisplayName 2014-12-04 21:23:49

+0

是的,我試過:) – YArt 2014-12-04 21:34:55