Partager via


OBJECT_DEFINITION (Transact-SQL)

Mis à jour : 17 juillet 2006

Renvoie le texte source Transact-SQL de la définition de l'objet spécifié.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

OBJECT_DEFINITION ( object_id )

Arguments

  • object_id
    ID de l'objet à utiliser. object_id est de type int et est censé représenter un objet dans le contexte de la base de données active.

Exceptions

Retourne la valeur NULL en cas d'erreur ou si un appelant n'est pas autorisé à afficher l'objet.

Dans SQL Server 2005, un utilisateur peut voir uniquement les métadonnées des éléments sécurisables qui lui appartiennent ou pour lesquels il dispose d'un droit d'accès. 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. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées et Dépannage de la visibilité des métadonnées.

Notes

Le moteur de base de données SQL Server considère que object_id se situe dans le contexte de la base de données active. Le classement de la définition de l'objet correspond toujours au contexte de la base de données d'appel.

OBJECT_DEFINITION s'applique aux types d'objets suivants :

  • C = Contrainte CHECK
  • D = Valeur par défaut (contrainte ou autonome)
  • P = Procédure stockée SQL
  • FN = Fonction scalaire SQL
  • R = Règle
  • RF = Procédure de filtre de réplication
  • 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)
  • IF = Fonction table en ligne SQL
  • TF = Fonction table SQL
  • V = Vue

Autorisations

Les définitions de l'objet système sont visibles publiquement. 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. Ces autorisations sont implicitement possédées par des membres des rôles de base de données fixes db_owner, db_ddladmin et db_securityadmin.

Type des valeurs renvoyées

nvarchar(max)

Exemples

A. Renvoi le texte source d'un objet utilisé par l'utilisateur

L'exemple suivant renvoie la définition d'un déclencheur défini par l'utilisateur, uAddress, dans le schéma Person. La fonction intégrée OBJECT_ID est utilisée pour renvoyer l'identificateur d'objet du déclencheur de l'instruction OBJECT_DEFINITION.

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

B. Renvoi le texte source d'un objet système

L'exemple suivant renvoie la définition de la procédure stockée système sys.sp_columns.

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

Voir aussi

Référence

Fonctions de métadonnées (Transact-SQL)
OBJECT_NAME (Transact-SQL)
OBJECT_ID (Transact-SQL)
sp_helptext (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.server_sql_modules

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

17 juillet 2006

Nouveau contenu :
  • Ajout de contenu à propos de la visibilité des métadonnées dans la section Exceptions.