Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Lehetővé teszi, hogy a jelenlegi felhasználó adatbázis felhasználónevének rendszer által biztosított értékét beillesztsenek egy táblába, ha nincs alapértelmezett érték.
Transact-SQL szintaxis konvenciók
Szemantika
USER
Visszatérési típusok
nvarchar(128)
Megjegyzések
USER ugyanazt a funkciót biztosítja, mint a USER_NAME rendszerfunkció.
Használd USER korlátokkal DEFAULT vagy CREATE TABLE vagy ALTER TABLE vagy bármely szabványos függvényként.
USER mindig visszaadja a jelenlegi kontextus nevét. Ha egy EXECUTE AS állítás után hívják, USER visszaadja az átszemélyesült kontextus nevét.
Ha egy Windows-megbízó a csoporttagság révén fér hozzá az adatbázishoz, USER a Windows alapvetői nevét adja vissza a csoport neve helyett.
Példák
A. Az adatbázis felhasználónév visszaküldésének használata USER
A következő példa egy változót úgy deklarál, mint char, hozzárendeli annak a jelenlegi értékét USER , majd kinyomtatja a változót szöveges leírással.
DECLARE @usr CHAR(30)
SET @usr = user
SELECT 'The current user''s database username is: '+ @usr
GO
Itt van az eredmények összessége.
-----------------------------------------------------------------------
The current user's database username is: dbo
(1 row(s) affected)
B. Használat USER korlátozásokkal DEFAULT
A következő példa táblázatot hoz létre azáltal, hogy USER ezt az értékesítési sor értékesítőjének DEFAULT korlátjaként használja.
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
Ez a lekérdezés, amellyel az összes információt kiválasztjuk a inventory22 táblázatból:
SELECT * FROM inventory22 ORDER BY part_id;
GO
Itt az eredményhalmaz (figyelje meg az entry-person értéket):
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. Használat USER kombinációban EXECUTE AS
A következő példa szemlélteti a viselkedést, USER amikor egy személyesen azonosított ülésen belül hívják.
SELECT USER;
GO
EXECUTE AS USER = 'Mario';
GO
SELECT USER;
GO
REVERT;
GO
SELECT USER;
GO
Itt van az eredmények összessége.
DBO
Mario
DBO
Lásd még:
ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
CURRENT_TIMESTAMP (Transact-SQL)
CURRENT_USER (Transact-SQL)
Biztonsági funkciók (Transact-SQL)
SESSION_USER (Transact-SQL)
SYSTEM_USER (Transact-SQL)
USER_NAME (Transact-SQL)