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.
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
Ayrıca bkz.