USER_NAME (Transact-SQL)
Retorna um nome de usuário de banco de dados de um número de identificação especificado.
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 contiver a palavra NULL, retornará NULL. Quando USER_NAME é chamado sem especificar uma id depois de uma instrução EXECUTE AS, USER_NAME retorna 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 uma 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