USER_NAME (Transact-SQL)
Retorna um nome de usuário de banco de dados de um número de identificação especificado.
Aplica-se a: SQL Server (SQL Server 2008 até a versão atual), Banco de dados SQL do Windows Azure (versão inicial até a versão atual). |
Convenções da sintaxe Transact-SQL
Sintaxe
USER_NAME ( [ id ] )
Argumentos
- id
É o número de identificação associado a um usuário do banco de dados. idé int. Os parênteses são necessários.
Tipos de retorno
nvarchar(256)
Comentários
Quando id é omitido, o usuário atual no contexto atual é assumido. Se o parâmetro contiver a palavra NULL, retornará NULL. Quando USER_NAME for chamado sem especificar uma id após a instrução EXECUTE AS, USER_NAME retornará o nome do usuário representado. Se um principal do Windows acessar o banco de dados por meio da associação em um grupo, USER_NAME retornará o principal do Windows em vez do grupo.
Exemplos
A.Usando USER_NAME
O exemplo a seguir retorna o nome de usuário para o usuário 13.
SELECT USER_NAME(13);
GO
B.Usando USER_NAME sem uma ID
O exemplo a seguir localiza o nome do usuário atual sem especificar um ID.
SELECT USER_NAME();
GO
Este é o conjunto de resultados para um usuário que é um membro da função de servidor fixa sysadmin.
------------------------------
dbo
(1 row(s) affected)
C.Usando USER_NAME na cláusula WHERE
O exemplo a seguir localiza a linha em sysusers na qual o nome é igual ao resultado da aplicação da função de sistema USER_NAME ao número de identificação de usuário 1.
SELECT name FROM sysusers WHERE name = USER_NAME(1);
GO
Aqui está o conjunto de resultados.
name
------------------------------
dbo
(1 row(s) affected)
D.Chamando USER_NAME durante a representação com EXECUTE AS
O exemplo a seguir mostra como USER_NAME se comporta durante representação.
SELECT USER_NAME();
GO
EXECUTE AS USER = 'Zelig';
GO
SELECT USER_NAME();
GO
REVERT;
GO
SELECT USER_NAME();
GO
Aqui está o conjunto de resultados.
DBO
Zelig
DBO
Consulte também
Referência
CURRENT_TIMESTAMP (Transact-SQL)