Aracılığıyla paylaş


Kullanıcı (Transact-SQL)

Varsayılan değer belirtilmezse, tablo için geçerli kullanıcı veritabanı kullanıcı adı için bir sistem tarafından sağlanan değer verir.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

USER

Dönüş Türleri

char

Açıklamalar

Kullanıcı user_name sistem işlevile aynı işlevselliği sağlar.

Kullanıcı varsayılan kısıtlamaları create table veya alter table deyimi içinde olan veya herhangi bir standart işlevkullanın.

KULLANICI her zaman geçerli içerik adını döndürür.Sonra bir execute çağrıldığında deyim, kullanıcı kimliğine bürünülen bağlam adını döndürür.

Asıl Windows Grup üyeliği tarafından veritabanı erişirse, kullanıcı Windows adını asıl yerine, grubun adını döndürür.

Örnekler

A.KULLANICI veritabanı kullanıcı adını döndürmek için kullanma

Aşağıdaki örnek bir değişken olarak bildirir char, kullanıcı, geçerli değeri atar ve sonra değişkenle yazdırırbir metin açıklaması.

DECLARE @usr char(30)
SET @usr = user
SELECT 'The current user''s database username is: '+ @usr
GO

Sonuç kümesi buradadır.

-----------------------------------------------------------------------

The current user's database username is: dbo

(1 row(s) affected)

B.Kullanıcı varsayılan kısıtlamaları ile kullanma

Aşağıdaki örnek kullanarak bir tablo oluşturur USER olarak bir DEFAULT kısıtlama görevlisinin satış satır.

USE AdventureWorks2008R2;
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

Bu, ilgili tüm bilgileri seçmek için sorguyu inventory22 tablo:

SELECT * FROM inventory22 ORDER BY part_id;
GO

İşte sonuç kümesi (Not entry-person değeri):

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.execute as ile birlikte kullanıcı kullanma

Aşağıdaki örnek davranışını gösterir USER bir oturumkimliğine bürünülen içinde çağrıldığında.

SELECT USER;
GO
EXECUTE AS USER = 'Mario';
GO
SELECT USER;
GO
REVERT;
GO
SELECT USER;
GO

Sonuç kümesi buradadır.

DBO

Mario

DBO