Udostępnij za pośrednictwem


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.

Topic link iconKonwencje składni języka Transact-SQL

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