Events
Mar 31, 11 PM - Apr 2, 11 PM
The biggest SQL, Fabric and Power BI learning event. March 31 – April 2. Use code FABINSIDER to save $400.
Register todayThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
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
CURRENT_USER
sysname
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.
This example returns the name of the current user.
SELECT CURRENT_USER;
GO
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)
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
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)
Events
Mar 31, 11 PM - Apr 2, 11 PM
The biggest SQL, Fabric and Power BI learning event. March 31 – April 2. Use code FABINSIDER to save $400.
Register today