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:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Devolve o Transact-SQL texto fonte da definição de um objeto especificado.
Transact-SQL convenções de sintaxe
Sintaxe
OBJECT_DEFINITION ( object_id )
Arguments
object_id
É o ID do objeto a ser usado.
object_id é int, e assume-se que representa um objeto no contexto atual da base de dados.
Tipos de devolução
nvarchar(max)
Exceptions
Retorna NULL no erro ou se um chamador não tiver permissão para exibir o objeto.
Um usuário só pode visualizar os metadados de protegíveis que o usuário possui ou sobre os quais o usuário recebeu permissão. Isto significa que funções incorporadas que emitem metadados, como OBJECT_DEFINITION, podem devolver NULL se o utilizador não tiver qualquer permissão sobre o objeto. Para obter mais informações, consulte Configuração de visibilidade de metadados.
Observações
O Motor de Base de Dados SQL Server assume que object_id está no contexto atual da base de dados. A colação da definição do objeto corresponde sempre à do contexto da base de dados que chama.
OBJECT_DEFINITION aplica-se aos seguintes tipos de objetos:
C = Restrição de verificação
D = Padrão (restrição ou independente)
P = procedimento armazenado SQL
FN = função escalar SQL
R = Regra
RF = Procedimento de filtro de replicação
TR = gatilho SQL (disparador DML com âmbito de esquema, ou gatilho DDL tanto no âmbito da base de dados como no servidor)
IF = Função SQL com valor de tabela embutido
TF = função SQL com valores em tabela
V = Vista
Permissions
As definições de objetos do sistema são publicamente visíveis. A definição de objetos de usuário é visível para o proprietário ou beneficiários do objeto que têm qualquer uma das seguintes permissões: ALTER, CONTROL, TAKE OWNERSHIP ou VIEW DEFINITION. Essas permissões são mantidas implicitamente por membros das funções de banco de dados db_owner, db_ddladmine db_securityadmin fixas.
Examples
A. Devolver o texto fonte de um objeto definido pelo utilizador
O exemplo seguinte devolve a definição de um gatilho definido pelo utilizador, uAddress, no Person esquema. A função OBJECT_ID incorporada é usada para devolver o ID do objeto do gatilho à OBJECT_DEFINITION instrução.
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];
GO
B. Devolver o texto fonte de um objeto do sistema
O exemplo seguinte devolve a definição do procedimento sys.sp_columnsarmazenado do sistema .
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
GO
Ver também
Funções de metadados (Transact-SQL)
OBJECT_NAME (Transact-SQL)
OBJECT_ID (Transact-SQL)
sp_helptext (Transact-SQL)
sys.sql_módulos (Transact-SQL)
sys.server_sql_modules (Transact-SQL)