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

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabasenonAzure SQL Data Warehouse nonParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Renvoie le texte source Transact-SQLTransact-SQL de la définition de l'objet spécifié.Returns the Transact-SQLTransact-SQL source text of the definition of a specified object.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax


OBJECT_DEFINITION ( object_id )  

ArgumentsArguments

object_idobject_id
ID de l'objet à utiliser.Is the ID of the object to be used. object_id est intet est censé représenter un objet dans le contexte actuel de la base de données.object_id is int, and assumed to represent an object in the current database context.

Types de retourReturn Types

nvarchar(max)nvarchar(max)

ExceptionsExceptions

Retourne la valeur NULL en cas d'erreur ou si un appelant n'est pas autorisé à afficher l'objet.Returns NULL on error or if a caller does not have permission to view the object.

Un utilisateur peut voir uniquement les métadonnées des éléments sécurisables qui lui appartiennent ou pour lesquels il dispose d'une autorisation.A user can only view the metadata of securables that the user owns or on which the user has been granted permission. Cela signifie que les fonctions intégrées générant des métadonnées, telles que OBJECT_DEFINITION, peuvent retourner la valeur NULL si l'utilisateur ne dispose d'aucune autorisation sur l'objet.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. Pour plus d'informations, consultez Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

NotesRemarks

Le Moteur de base de données SQL ServerSQL Server Database Engine suppose que object_id est dans le contexte actuel de la base de données.The Moteur de base de données SQL ServerSQL Server Database Engine assumes that object_id is in the current database context. Le classement de la définition de l'objet correspond toujours au contexte de la base de données d'appel.The collation of the object definition always matches that of the calling database context.

OBJECT_DEFINITION s'applique aux types d'objets suivants :OBJECT_DEFINITION applies to the following object types:

  • C = Contrainte CHECKC = Check constraint

  • D = Valeur par défaut (contrainte ou autonome)D = Default (constraint or stand-alone)

  • P = procédure stockée SQLP = SQL stored procedure

  • FN = Fonction scalaire SQLFN = SQL scalar function

  • R = RègleR = Rule

  • RF = Procédure de filtre de réplicationRF = Replication filter procedure

  • TR = Déclencheur SQL (déclencheur DML avec une étendue de schéma ou déclencheur DDL avec une étendue de base de données ou de serveur)TR = SQL trigger (schema-scoped DML trigger, or DDL trigger at either the database or server scope)

  • IF = Fonction table en ligne SQLIF = SQL inline table-valued function

  • TF = Fonction table SQLTF = SQL table-valued function

  • V = VueV = View

PermissionsPermissions

Les définitions de l'objet système sont visibles publiquement.System object definitions are publicly visible. La définition des objets utilisateur est visible par le propriétaire de l'objet ou les bénéficiaires de l'une des autorisations suivantes : 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. Ces autorisations sont implicitement possédées par des membres des rôles de base de données fixes db_owner, db_ddladminet db_securityadmin .These permissions are implicitly held by members of the db_owner, db_ddladmin, and db_securityadmin fixed database roles.

ExemplesExamples

A.A. Renvoi du texte source d'un objet défini par l'utilisateurReturning the source text of a user-defined object

L'exemple suivant renvoie la définition d'un déclencheur défini par l'utilisateur, uAddress, dans le schéma Person.The following example returns the definition of a user-defined trigger, uAddress, in the Person schema. La fonction intégrée OBJECT_ID est utilisée pour renvoyer l'identificateur d'objet du déclencheur de l'instruction 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. Renvoi du texte source d'un objet systèmeReturning the source text of a system object

L'exemple suivant renvoie la définition de la procédure stockée système 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  

Voir aussiSee Also

Fonctions de métadonnées ( Transact-SQL ) Metadata Functions (Transact-SQL)
Nom_objet ( 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)