USER_ID (Transact-SQL)
傳回資料庫使用者的識別碼。
重要事項 |
---|
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 DATABASE_PRINCIPAL_ID。 |
語法
USER_ID ( [ 'user' ] )
引數
- user
為要使用的使用者名稱。user 是 nchar。如果指定了 char 值,它會隱含地轉換成 nchar。它必須用括號括住。
傳回類型
int
備註
當省略 user 時,會假設為目前的使用者。如果包含 NULL 一詞,就會傳回 NULL。在 EXECUTE AS 之後呼叫 USER_ID 時,USER_ID 會傳回模擬內容的識別碼。
未對應至特定資料庫使用者的 Windows 主體藉由群組成員資格來存取資料庫時,USER_ID 會傳回 0 (public 的識別碼)。如果這類主體建立物件而不指定結構描述,SQL Server 會建立對應至 Windows 主體的隱含使用者和結構描述。在這種情況下建立的使用者不能用來連接到資料庫。對應至隱含使用者的 Windows 主體對 USER_ID 的呼叫會傳回隱含使用者的識別碼。
USER_ID 可用在選取清單、WHERE 子句及任何允許使用運算式的位置中。如需詳細資訊,請參閱<運算式 (Transact-SQL)>。
範例
下列範例會傳回 AdventureWorks2008R2 使用者 Harold 的識別碼。
USE AdventureWorks2008R2;
SELECT USER_ID('Harold');
GO