USER_NAME (SQL bertransaksi)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Menampilkan nama pengguna database dari nomor identifikasi tertentu.
Sintaks
USER_NAME ( [ id ] )
Catatan
Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
id
Adalah nomor identifikasi yang terkait dengan pengguna database. id adalah int. Tanda kurung diperlukan.
Jenis Pengembalian
nvarchar(128)
Keterangan
Ketika id dihilangkan, pengguna saat ini dalam konteks saat ini diasumsikan. Jika parameter berisi kata NULL akan mengembalikan NULL. Saat USER_NAME dipanggil tanpa menentukan id setelah pernyataan EXECUTE AS, USER_NAME mengembalikan nama pengguna yang ditiru. Jika perwakilan Windows mengakses database dengan cara keanggotaan dalam grup, USER_NAME mengembalikan nama prinsipal Windows alih-alih grup.
Catatan
Meskipun fungsi USER_NAME didukung pada Azure SQL Database, menggunakan Jalankan seperti halnya USER_NAME tidak didukung pada Azure SQL Database.
Contoh
A. Menggunakan USER_NAME
Contoh berikut mengembalikan nama pengguna untuk ID 13pengguna .
SELECT USER_NAME(13);
GO
B. Menggunakan USER_NAME tanpa ID
Contoh berikut menemukan nama pengguna saat ini tanpa menentukan ID.
SELECT USER_NAME();
GO
Berikut adalah hasil yang ditetapkan untuk pengguna yang merupakan anggota peran server tetap sysadmin.
------------------------------
dbo
(1 row(s) affected)
C. Menggunakan USER_NAME dalam klausa WHERE
Contoh berikut menemukan baris di sysusers mana nama sama dengan hasil penerapan fungsi USER_NAME sistem ke nomor 1identifikasi pengguna .
SELECT name FROM sysusers WHERE name = USER_NAME(1);
GO
Berikut adalah hasil yang ditetapkan.
name
------------------------------
dbo
(1 row(s) affected)
D. Memanggil USER_NAME selama peniruan dengan EXECUTE AS
Contoh berikut menunjukkan bagaimana USER_NAME perilaku selama peniruan.
SELECT USER_NAME();
GO
EXECUTE AS USER = 'Zelig';
GO
SELECT USER_NAME();
GO
REVERT;
GO
SELECT USER_NAME();
GO
Berikut adalah hasil yang ditetapkan.
DBO
Zelig
DBO
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
E. Menggunakan USER_NAME tanpa ID
Contoh berikut menemukan nama pengguna saat ini tanpa menentukan ID.
SELECT USER_NAME();
Berikut adalah hasil yang ditetapkan untuk pengguna yang saat ini masuk.
------------------------------
User7
F. Menggunakan USER_NAME dalam klausa WHERE
Contoh berikut menemukan baris di sysusers mana nama sama dengan hasil penerapan fungsi USER_NAME sistem ke nomor 1identifikasi pengguna .
SELECT name FROM sysusers WHERE name = USER_NAME(1);
Berikut adalah hasil yang ditetapkan.
name
------------------------------
User7
Lihat juga
ALTER TABLE (Transact-SQL)
BUAT TABEL (Transact-SQL)
CURRENT_TIMESTAMP (SQL bertransaksi)
CURRENT_USER (SQL bertransaksi)
SESSION_USER (SQL Bertransaksi)
Fungsi Sistem (SQL Bertransaksi)
SYSTEM_USER (SQL Bertransaksi)
