Anteckning
Å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.
Applies to: 
 SQL Server 
 Azure SQL Database 
 Azure SQL Managed Instance 
 Azure Synapse Analytics 
 Analytics Platform System (PDW)
This function returns the name of the current user. This function is equivalent to USER_NAME().
 Transact-SQL syntax conventions
Syntax
CURRENT_USER  
Return types
sysname
Remarks
CURRENT_USER returns the name of the current security context. If CURRENT_USER executes after a call to EXECUTE AS switches context, CURRENT_USER will return the name of the impersonated context. If a Windows principal accessed the database by way of membership in a group, CURRENT_USER will return the name of the Windows principal instead of the group name.
See SUSER_NAME (Transact-SQL) and SYSTEM_USER (Transact-SQL) to learn about how to return the login of the current user.
Examples
A. Using CURRENT_USER to return the current user name
This example returns the name of the current user.
SELECT CURRENT_USER;  
GO  
B. Using CURRENT_USER as a DEFAULT constraint
This example creates a table that uses CURRENT_USER as a DEFAULT constraint, for the order_person column, on a sales row.
USE AdventureWorks2022;  
GO  
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES  
      WHERE TABLE_NAME = 'orders22')  
   DROP TABLE orders22;  
GO  
SET NOCOUNT ON;  
CREATE TABLE orders22  
(  
order_id int IDENTITY(1000, 1) NOT NULL,
cust_id  int NOT NULL,
order_date smalldatetime NOT NULL DEFAULT GETDATE(),
order_amt money NOT NULL,
order_person char(30) NOT NULL DEFAULT CURRENT_USER
);  
GO  
This example inserts a record in the table. The user named Wanida executes these statements.
INSERT orders22 (cust_id, order_amt)  
VALUES (5105, 577.95);  
GO  
SET NOCOUNT OFF;  
GO  
This query selects all information from the orders22 table.
SELECT * FROM orders22;  
GO  
Here's the result set.
order_id    cust_id     order_date           order_amt    order_person
----------- ----------- -------------------- ------------ ------------
1000        5105        2005-04-03 23:34:00  577.95       Wanida
  
(1 row(s) affected)
C. Using CURRENT_USER from an impersonated context
In this example, user Wanida executes the following Transact-SQL code to impersonate user 'Arnalfo'.
SELECT CURRENT_USER;  
GO  
EXECUTE AS USER = 'Arnalfo';  
GO  
SELECT CURRENT_USER;  
GO  
REVERT;  
GO  
SELECT CURRENT_USER;  
GO  
Here's the result set.
Wanida
Arnalfo
Wanida
See also
USER_NAME (Transact-SQL)
SYSTEM_USER (Transact-SQL)
sys.database_principals (Transact-SQL)
ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
System Functions (Transact-SQL)