USER (Transact-SQL)
Zezwala na wartości dostarczanych przez system dla bieżącego użytkownika, który ma zostać wstawione do tabela, gdy wartość domyślna nie zostanie określona nazwa użytkownika bazy danych.
USER
Zwracane typy
char
Remarks
USER zawiera taką samą funkcjonalność jak USER_NAME funkcja systemowej.
Za pomocą instrukcji CREATE tabela lub ALTER tabela ograniczeń, DEFAULT USER lub za pomocą dowolnej funkcja standardowych.
Zawsze USER zwraca nazwę bieżącego kontekstu.Po wywołaniu po wykonać AS instrukcja, USER zwraca nazwę kontekście personifikowanego.
Jeśli główne Windows uzyskuje dostęp do bazy danych z członkostwa w grupie, USER zwraca nazwę okna Główne zamiast nazwy grupy.
Przykłady
A.Za pomocą USER zwraca nazwę użytkownika bazy danych
W poniższym przykładzie deklaruje zmienną jako char, przypisuje mu bieżącą wartość USER, a następnie drukuje zmienna o opis tekstowy.
DECLARE @usr char(30)
SET @usr = user
SELECT 'The current user''s database username is: '+ @usr
GO
Here is the result set.
-----------------------------------------------------------------------
The current user's database username is: dbo
(1 row(s) affected)
B.Korzystanie z ograniczeniami DEFAULT USER
Poniższy przykład tworzy tabela przy użyciu USER jako DEFAULT ograniczenie dla sprzedawcy z wiersza sprzedaży.
USE AdventureWorks;
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
Jest to kwerenda ma wybierać wszystkie informacje z inventory22 Tabela:
SELECT * FROM inventory22 ORDER BY part_id;
GO
W tym polu jest zestaw wyników (Uwaga entry-person wartość):
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.Za pomocą USER w połączeniu z wykonać AS
W poniższym przykładzie pokazano zachowanie USER Po wywołaniu wewnątrz personifikowanego sesja programu.
SELECT USER;
GO
EXECUTE AS USER = 'Mario';
GO
SELECT USER;
GO
REVERT;
GO
SELECT USER;
GO
Here is the result set.
DBO
Mario
DBO
See Also