USER_NAME (Transact-SQL)
Restituisce un nome di un utente del database corrispondente al numero di identificazione specificato.
Convenzioni della sintassi Transact-SQL
Se id viene omesso, viene utilizzato l'utente corrente nel contesto corrente. Se USER_NAME viene richiamata senza specificare id dopo un'istruzione EXECUTE AS, viene restituito il nome dell'utente rappresentato. Se un'entità di Windows accede al database in base all'appartenenza a un gruppo, USER_NAME restituisce il nome dell'entità di Windows anziché il gruppo.
A. Utilizzo di USER_NAME
Nell'esempio seguente viene restituito il nome utente per l'ID utente 13.
SELECT USER_NAME(13); GO
B. Utilizzo di USER_NAME senza un ID
Nell'esempio seguente viene restituito il nome dell'utente corrente senza specificare un ID.
SELECT USER_NAME(); GO
Set di risultati (per un utente membro del ruolo predefinito del server sysadmin):
------------------------------ dbo (1 row(s) affected)
C. Utilizzo di USER_NAME nella clausola WHERE
Nell'esempio seguente viene restituita la riga di sysusers contenente un nome che corrisponde al risultato della funzione di sistema USER_NAME per il numero di identificazione utente 1.
SELECT name FROM sysusers WHERE name = USER_NAME(1); GO
Set di risultati:
name ------------------------------ dbo (1 row(s) affected)
D. Chiamata della funzione USER_NAME durante la rappresentazione tramite EXECUTE AS
Nell'esempio seguente viene illustrato il comportamento della funzione USER_NAME durante la rappresentazione.
SELECT USER_NAME(); GO EXECUTE AS USER = 'Zelig'; GO SELECT USER_NAME(); GO REVERT; GO SELECT USER_NAME(); GO
Set di risultati:
DBO Zelig DBO
Riferimento
ALTER TABLE (Transact-SQL)CREATE TABLE (Transact-SQL)
CURRENT_TIMESTAMP (Transact-SQL)
CURRENT_USER (Transact-SQL)
SESSION_USER (Transact-SQL)
Funzioni di sistema (Transact-SQL)
SYSTEM_USER (Transact-SQL)