Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitik Platform Sistemi (PDW)
Microsoft Fabric'te SQL veritabanı
Varsayılan değer belirtilmediğinde, mevcut kullanıcının veritabanı kullanıcı adının sistem tarafından sağlanan bir değerin tabloya eklenmesine izin verir.
Transact-SQL söz dizimi kuralları
Sözdizimi
USER
Dönüş Türleri
nvarchar(128)
Açıklamalar
USER, USER_NAME sistem fonksiyonuyla aynı işlevselliği sağlar.
USER'i CREATE TABLE veya ALTER TABLE ifadelerinde DEFAULT kısıtlamalarıyla kullanın veya herhangi bir standart fonksiyon olarak kullanın.
KULLANICI her zaman mevcut bağlamın adını döndürür. EXECUTE AS ifadesinden sonra çağrıldığında, KULLANICI taklit edilmiş bağlamın adını döndürür.
Bir Windows yöneticisi bir grup üyeliği yoluyla veritabanına erişirse, KULLANICI grubun adı yerine Windows yöneticisinin adını döndürür.
Örnekler
A. Veritabanı kullanıcı adını döndürmek için USER kullanımı
Aşağıdaki örnek, bir değişkeni ' olarak charbildirir, ona USER'ın mevcut değerini atar ve ardından değişkeni metin tanımıyla birlikte yazdırır.
DECLARE @usr CHAR(30)
SET @usr = user
SELECT 'The current user''s database username is: '+ @usr
GO
Sonuç kümesi aşağıdadır.
-----------------------------------------------------------------------
The current user's database username is: dbo
(1 row(s) affected)
B. DEFAULT kısıtlamalarla USER kullanımı
Aşağıdaki örnek, satış satırının satış temsilcisi için bir kısıtlama olarak kullanılarak bir tablo USERDEFAULT oluşturur.
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
Tablodan tüm bilgileri inventory22 seçmek için sorgu budur:
SELECT * FROM inventory22 ORDER BY part_id;
GO
İşte sonuç kümesi (değere entry-person dikkat edin):
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. USER ile EXECUTE AS kombinasyonu kullanmak
Aşağıdaki örnek, taklit edilen bir oturum içinde çağrıldığında USER davranışı göstermektedir.
SELECT USER;
GO
EXECUTE AS USER = 'Mario';
GO
SELECT USER;
GO
REVERT;
GO
SELECT USER;
GO
Sonuç kümesi aşağıdadır.
DBO
Mario
DBO
Ayrıca Bkz.
ALTER TABLE (Transact-SQL)
TABLO OLUŞTUR (Transact-SQL)
CURRENT_TIMESTAMP (Transact-SQL)
CURRENT_USER (Transact-SQL)
Güvenlik İşlevleri (Transact-SQL)
SESSION_USER (Transact-SQL)
SYSTEM_USER (Transact-SQL)
USER_NAME (Transact-SQL)