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
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Database SQL di Microsoft Fabric
Memungkinkan nilai yang disediakan sistem untuk nama pengguna database pengguna saat ini dimasukkan ke dalam tabel ketika tidak ada nilai default yang ditentukan.
Sintaks
USER
Jenis Kembalian
nvarchar(128)
Keterangan
USER menyediakan fungsionalitas yang sama dengan fungsi sistem USER_NAME.
Gunakan USER dengan batasan DEFAULT dalam pernyataan CREATE TABLE atau ALTER TABLE, atau gunakan sebagai fungsi standar apa pun.
USER selalu mengembalikan nama konteks saat ini. Saat dipanggil setelah pernyataan EXECUTE AS, USER mengembalikan nama konteks yang ditiru.
Jika prinsipal Windows mengakses database dengan cara keanggotaan dalam grup, USER mengembalikan nama prinsipal Windows, bukan nama grup.
Contoh
J. Menggunakan USER untuk mengembalikan nama pengguna database
Contoh berikut mendeklarasikan variabel sebagai char, menetapkan nilai USER saat ini ke dalamnya, lalu mencetak variabel dengan deskripsi teks.
DECLARE @usr CHAR(30)
SET @usr = user
SELECT 'The current user''s database username is: '+ @usr
GO
Berikut set hasilnya.
-----------------------------------------------------------------------
The current user's database username is: dbo
(1 row(s) affected)
B. Menggunakan USER dengan batasan DEFAULT
Contoh berikut membuat tabel dengan menggunakan USER sebagai DEFAULT batasan untuk tenaga penjual baris penjualan.
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
Ini adalah kueri untuk memilih semua informasi dari inventory22 tabel:
SELECT * FROM inventory22 ORDER BY part_id;
GO
Berikut adalah tataan hasilnya (perhatikan nilainya entry-person ):
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. Menggunakan USER dalam kombinasi dengan EXECUTE AS
Contoh berikut mengilustrasikan perilaku USER ketika dipanggil di dalam sesi yang ditiru.
SELECT USER;
GO
EXECUTE AS USER = 'Mario';
GO
SELECT USER;
GO
REVERT;
GO
SELECT USER;
GO
Berikut set hasilnya.
DBO
Mario
DBO
Lihat Juga
ALTER TABLE (Transact-SQL)
BUAT TABEL (Transact-SQL)
CURRENT_TIMESTAMP (T-SQL)
CURRENT_USER (T-SQL)
Fungsi Keamanan (T-SQL)
SESSION_USER (T-SQL)
SYSTEM_USER (T-SQL)
USER_NAME (T-SQL)