Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Tillåter att ett systemtillhandahållet värde för databasanvändarnamnet för den aktuella användaren kan infogas i en tabell när inget standardvärde är specificerat.
Transact-SQL syntaxkonventioner
Syntax
USER
Returtyper
nvarchar(128)
Anmärkningar
USER tillhandahåller samma funktionalitet som USER_NAME systemfunktionen.
Använd USER med DEFAULT-begränsningar i antingen CREATE TABLE- eller ALTER TABLE-satserna, eller använd som vilken standardfunktion som helst.
ANVÄNDAREN returnerar alltid namnet på den aktuella kontexten. När den anropas efter ett EXECUTE AS-uttalande returnerar USER namnet på den imiterade kontexten.
Om en Windows-huvudperson får tillgång till databasen genom medlemskap i en grupp, returnerar ANVÄNDARE namnet på Windows-huvudpersonen istället för gruppens namn.
Examples
A. Att använda USER för att returnera databasens användarnamn
Följande exempel deklarerar en variabel som char, tilldelar det aktuella värdet av USER till den och skriver sedan ut variabeln med en textbeskrivning.
DECLARE @usr CHAR(30)
SET @usr = user
SELECT 'The current user''s database username is: '+ @usr
GO
Här är resultatet.
-----------------------------------------------------------------------
The current user's database username is: dbo
(1 row(s) affected)
B. Att använda USER med DEFAULT-begränsningar
Följande exempel skapar en tabell genom att använda USER som DEFAULT begränsning för säljaren i en försäljningsrad.
USE AdventureWorks2022;
GO
CREATE TABLE inventory22
(
part_id INT IDENTITY(100, 1) NOT NULL,
description VARCHAR(30) NOT NULL,
entry_person VARCHAR(30) NOT NULL DEFAULT USER
)
GO
INSERT inventory22 (description)
VALUES ('Red pencil')
INSERT inventory22 (description)
VALUES ('Blue pencil')
INSERT inventory22 (description)
VALUES ('Green pencil')
INSERT inventory22 (description)
VALUES ('Black pencil')
INSERT inventory22 (description)
VALUES ('Yellow pencil')
GO
Detta är frågan för att välja all information från inventory22 tabellen:
SELECT * FROM inventory22 ORDER BY part_id;
GO
Här är resultatmängden (notera entry-person värdet):
part_id description entry_person
----------- ------------------------------ -------------------------
100 Red pencil dbo
101 Blue pencil dbo
102 Green pencil dbo
103 Black pencil dbo
104 Yellow pencil dbo
(5 row(s) affected)
C. Att använda USER i kombination med EXECUTE AS
Följande exempel illustrerar beteendet när USER det anropas i en imiterad session.
SELECT USER;
GO
EXECUTE AS USER = 'Mario';
GO
SELECT USER;
GO
REVERT;
GO
SELECT USER;
GO
Här är resultatet.
DBO
Mario
DBO
Se även
ALTER TABLE (Transact-SQL)
SKAPA TABELL (Transact-SQL)
CURRENT_TIMESTAMP (Transact-SQL)
CURRENT_USER (Transact-SQL)
Säkerhetsfunktioner (Transact-SQL)
SESSION_USER (Transact-SQL)
SYSTEM_USER (Transact-SQL)
USER_NAME (Transact-SQL)