Partilhar via


OBJECT_DEFINITION (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase 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)