OBJECT_DEFINITION (Transact-SQL)OBJECT_DEFINITION (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Retorna o texto de origem de Transact-SQLTransact-SQL da definição de um objeto especificado.Returns the Transact-SQLTransact-SQL source text of the definition of a specified object.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

  
OBJECT_DEFINITION ( object_id )  

ArgumentosArguments

object_idobject_id
É a ID do objeto a ser usado.Is the ID of the object to be used. object_id é int e considera-se que representa um objeto no contexto de banco de dados atual.object_id is int, and assumed to represent an object in the current database context.

Tipos de retornoReturn Types

nvarchar(max)nvarchar(max)

ExceçõesExceptions

Retornará NULL em caso de erro ou se um chamador não tiver permissão para exibir o objeto.Returns NULL on error or if a caller does not have permission to view the object.

Um usuário só pode exibir metadados de protegíveis de sua propriedade ou para os quais recebeu permissão.A user can only view the metadata of securables that the user owns or on which the user has been granted permission. Isso significa que as funções internas emissoras de metadados, como OBJECT_DEFINITION, podem retornar NULL se o usuário não tiver permissão no objeto.This means that metadata-emitting, built-in functions such as OBJECT_DEFINITION may return NULL if the user does not have any permission on the object. Para obter mais informações, consulte Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

RemarksRemarks

O Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine supõe que object_id esteja no contexto do banco de dados atual.The Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine assumes that object_id is in the current database context. A ordenação da definição de objeto sempre corresponde ao do contexto de banco de dados que está fazendo a chamada.The collation of the object definition always matches that of the calling database context.

OBJECT_DEFINITION se aplica aos tipos de objeto seguintes:OBJECT_DEFINITION applies to the following object types:

  • C = Verificar restriçõesC = Check constraint

  • D = Padrão (restrição ou autônomo)D = Default (constraint or stand-alone)

  • P = Procedimento armazenado SQLP = SQL stored procedure

  • FN = Função escalar SQLFN = SQL scalar function

  • R = RegraR = Rule

  • RF = Procedimento do filtro de replicaçãoRF = Replication filter procedure

  • TR = Gatilho SQL (gatilho DML com escopo de esquema, ou gatilho DDL no banco de dados ou no escopo de servidor)TR = SQL trigger (schema-scoped DML trigger, or DDL trigger at either the database or server scope)

  • IF = Função SQL com valor de tabela embutidaIF = SQL inline table-valued function

  • TF = Função SQL com valor de tabelaTF = SQL table-valued function

  • V = ExibiçãoV = View

PermissõesPermissions

Definições de objeto de sistema são publicamente visíveis.System object definitions are publicly visible. A definição de objetos de usuário é visível ao proprietário do objeto e às entidades autorizadas que têm uma das seguintes permissões: ALTER, CONTROL, TAKE OWNERSHIP ou VIEW DEFINITION.The definition of user objects is visible to the object owner or grantees that have any one of the following permissions: ALTER, CONTROL, TAKE OWNERSHIP, or VIEW DEFINITION. Estas permissões são mantidas implicitamente por membros das funções fixas de banco de dados db_owner, db_ddladmine db_securityadmin .These permissions are implicitly held by members of the db_owner, db_ddladmin, and db_securityadmin fixed database roles.

ExemplosExamples

A.A. Retornando o texto de origem de um objeto definido pelo usuárioReturning the source text of a user-defined object

O exemplo a seguir retorna a definição de um gatilho definido pelo usuário, uAddress, no esquema Person.The following example returns the definition of a user-defined trigger, uAddress, in the Person schema. A função interna OBJECT_ID é usada para retornar a ID do objeto do gatilho à instrução OBJECT_DEFINITION.The built-in function OBJECT_ID is used to return the object ID of the trigger to the OBJECT_DEFINITION statement.

USE AdventureWorks2012;  
GO  
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];   
GO  

B.B. Retornando o texto de origem de um objeto de sistemaReturning the source text of a system object

O exemplo a seguir retorna a definição do procedimento armazenado do sistema sys.sp_columns.The following example returns the definition of the system stored procedure sys.sp_columns.

USE AdventureWorks2012;  
GO  
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];  
GO  

Consulte TambémSee Also

Funções de metadados (Transact-SQL) Metadata Functions (Transact-SQL)
OBJECT_NAME (Transact-SQL) OBJECT_NAME (Transact-SQL)
OBJECT_ID (Transact-SQL) OBJECT_ID (Transact-SQL)
sp_helptext (Transact-SQL) sp_helptext (Transact-SQL)
sys.sql_modules (Transact-SQL) sys.sql_modules (Transact-SQL)
sys.server_sql_modules (Transact-SQL)sys.server_sql_modules (Transact-SQL)