Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Database Azure
SQLInstans
Terkelola Azure SQLAzure Synapse Analytics
Sistem Platform Analitik (PDW)
Database SQL di Microsoft Fabric
Fungsi ini mengembalikan nama pengguna saat ini. Fungsi ini setara dengan USER_NAME().
Sintaks
CURRENT_USER
Jenis yang dikembalikan
nama sysname
Keterangan
CURRENT_USER mengembalikan nama konteks keamanan saat ini. Jika CURRENT_USER dijalankan setelah panggilan untuk EXECUTE AS beralih konteks, CURRENT_USER akan mengembalikan nama konteks yang ditiru. Jika prinsipal Windows mengakses database dengan cara keanggotaan dalam grup, CURRENT_USER akan mengembalikan nama prinsipal Windows alih-alih nama grup.
Lihat SUSER_NAME (Transact-SQL) dan SYSTEM_USER (Transact-SQL) untuk mempelajari cara mengembalikan login pengguna saat ini.
Contoh
J. Menggunakan CURRENT_USER untuk mengembalikan nama pengguna saat ini
Contoh ini mengembalikan nama pengguna saat ini.
SELECT CURRENT_USER;
GO
B. Menggunakan CURRENT_USER sebagai batasan DEFAULT
Contoh ini membuat tabel yang menggunakan CURRENT_USER sebagai DEFAULT batasan, untuk order_person kolom, pada baris penjualan.
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
Contoh ini menyisipkan rekaman dalam tabel. Pengguna bernama Wanida menjalankan pernyataan ini.
INSERT orders22 (cust_id, order_amt)
VALUES (5105, 577.95);
GO
SET NOCOUNT OFF;
GO
Kueri ini memilih semua informasi dari orders22 tabel.
SELECT * FROM orders22;
GO
Berikut set hasilnya.
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. Menggunakan CURRENT_USER dari konteks yang ditiru
Dalam contoh ini, pengguna Wanida menjalankan kode Transact-SQL berikut untuk meniru pengguna 'Arnalfo'.
SELECT CURRENT_USER;
GO
EXECUTE AS USER = 'Arnalfo';
GO
SELECT CURRENT_USER;
GO
REVERT;
GO
SELECT CURRENT_USER;
GO
Berikut set hasilnya.
Wanida
Arnalfo
Wanida
Lihat juga
USER_NAME (T-SQL)
SYSTEM_USER (T-SQL)
sys.database_principals (T-SQL)
ALTER TABLE (Transact-SQL)
BUAT TABEL (Transact-SQL)
Fungsi Sistem (Transact-SQL)