Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do
Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Banco de Dados SQL no Microsoft Fabric
Permite que um valor fornecido pelo sistema para o nome de utilizador da base de dados do utilizador atual seja inserido numa tabela quando não há valor por defeito.
Transact-SQL convenções de sintaxe
Sintaxe
USER
Tipos de devolução
nvarchar(128)
Observações
O UTILIZADOR oferece a mesma funcionalidade que a função do sistema USER_NAME.
Use USER com restrições DEFAULT nas instruções CREATE TABLE ou ALTER TABLE, ou use como qualquer função padrão.
UTILIZADOR devolve sempre o nome do contexto atual. Quando chamado após uma instrução EXECUTE AS, USER devolve o nome do contexto personificado.
Se um principal do Windows aceder à base de dados através da pertença a um grupo, o UTILIZADOR devolve o nome do principal do Windows em vez do nome do grupo.
Examples
A. Usar USER para devolver o nome de utilizador da base de dados
O exemplo seguinte declara uma variável como char, atribui-lhe o valor atual de USER e depois imprime a variável com uma descrição em texto.
DECLARE @usr CHAR(30)
SET @usr = user
SELECT 'The current user''s database username is: '+ @usr
GO
Aqui está o conjunto de resultados.
-----------------------------------------------------------------------
The current user's database username is: dbo
(1 row(s) affected)
B. Usar USER com restrições DEFAULT
O exemplo seguinte cria uma tabela usando USER como DEFAULT restrição para o vendedor de uma linha de vendas.
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
Esta é a consulta para selecionar toda a informação da inventory22 tabela:
SELECT * FROM inventory22 ORDER BY part_id;
GO
Aqui está o conjunto de resultados (note o entry-person valor):
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. Usar USER em combinação com EXECUTE AS
O exemplo seguinte ilustra o comportamento de USER quando chamado dentro de uma sessão personificada.
SELECT USER;
GO
EXECUTE AS USER = 'Mario';
GO
SELECT USER;
GO
REVERT;
GO
SELECT USER;
GO
Aqui está o conjunto de resultados.
DBO
Mario
DBO
Ver também
ALTERAR TABELA (Transact-SQL)
CRIAR TABELA (Transact-SQL)
CURRENT_TIMESTAMP (Transact-SQL)
CURRENT_USER (Transact-SQL)
Funções de segurança (Transact-SQL)
SESSION_USER (Transact-SQL)
SYSTEM_USER (Transact-SQL)
USER_NAME (Transact-SQL)