Örnein (Transact-SQL)
Geçerli kullanıcı adını döndürür.Bu işlev user_name() için eşdeğerdir.
Sözdizimi
CURRENT_USER
Dönüş Türleri
sysname
Açıklamalar
Örnein, geçerli güvenlik içeriği adını döndürür.Örnein execute as çağrı içeriğini geçirir sonra yürütülür, örnein kimliğine bürünülen bağlam adını döndürür.Asıl Windows Grup üyeliği tarafından veritabanı eriştiyseniz, grubun adı yerine Windows asıl adı döndürülür.
Geçerli kullanıcının oturumu dönmek için bkz: suser_name (Transact-SQL) ve system_user (Transact-SQL).
Örnekler
A.Örnein, geçerli kullanıcı adını döndürmek için kullanma
Aşağıdaki örnek, geçerli kullanıcı adını döndürür.
SELECT CURRENT_USER;
GO
B.Örnein, varsayılan kısıtlama kullanma
Aşağıdaki örnek, kullanan bir tablo oluşturur CURRENT_USER olarak bir DEFAULT için kısıtlama order_person sütun satış satır.
USE AdventureWorks2008R2;
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
Aşağıdaki kod tablobir kayıt ekler.Bu deyimleri yürütmeden kullanıcı adlı Wanida.
INSERT orders22 (cust_id, order_amt)
VALUES (5105, 577.95)
GO
SET NOCOUNT OFF
GO
Tüm bilgileri aşağıdaki sorgu seçer orders22 tablo.
SELECT * FROM orders22;
GO
Sonuç kümesi buradadır.
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.Örnein bir kimliğine bürünülen içerikten kullanma
Aşağıdaki örnekte, kullanıcı Wanida yürütür aşağıdaki Transact-SQL kod.
SELECT CURRENT_USER;
GO
EXECUTE AS USER = 'Arnalfo';
GO
SELECT CURRENT_USER;
GO
REVERT;
GO
SELECT CURRENT_USER;
GO
Sonuç kümesi buradadır.
Wanida
Arnalfo
Wanida