Aracılığıyla paylaş


Örnein (Transact-SQL)

Geçerli kullanıcı adını döndürür.Bu işlev için USER_NAME() eşdeğerdir.

Topic link iconTransact-SQL sözdizimi kuralları

CURRENT_USER

Dönüş Türleri

sysname

Remarks

Örnein, geçerli güvenlik bağlamını adını döndürür.yürütmek AS çağrısı içeriğini geçirir sonra örnein gerçekleştirildiğinde, örnein Kimliğine bürünülen içerik adını döndürür.Asıl Windows, Grup üyeliği yoluyla veritabanı eriştiyseniz, Wındows asıl adının grubun adı yerine döndürdü.

Geçerli kullanıcının oturumu dönmek için , bkz: SUSER_NAME (Transact-SQL) ve SYSTEM_USER (Transact-SQL).

Örnekler

C.Geçerli kullanıcı adını döndürmek için örnein kullanma

Aşağıdaki örnek, geçerli kullanıcı adını döndürür.

SELECT CURRENT_USER;
GO

b.VARSAYıLAN kısıtlama örnein kullanma

Aşağıdaki örnek, kullanan bir tablo oluşturur. CURRENT_USER gibi bir DEFAULT kısıtlama order_person bir satış satırındaki sütun.

USE AdventureWorks;
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, tabloda bir kayıt ekler.Bu ifadeler yürütülürken kullanıcının adı 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

Here is 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)

c.Kimliğine bürünülen bir içerikten örnein kullanma

Aşağıdaki örnekte, kullanıcı Wanida şunları çalıştırır Transact-SQL kodu.

SELECT CURRENT_USER;
GO
EXECUTE AS USER = 'Arnalfo';
GO
SELECT CURRENT_USER;
GO
REVERT;
GO
SELECT CURRENT_USER;
GO

Here is the result set.

Wanida
Arnalfo
Wanida