Exporter (0) Imprimer
Développer tout
Développer Réduire

OBJECTPROPERTY (Transact-SQL)

Mis à jour : 12 décembre 2006

Retourne les informations concernant les objets étendus aux schémas de la base de données active. Pour obtenir la liste de tous les objets étendus aux schémas, consultez sys.objects (Transact-SQL). Cette fonction ne peut pas être utilisée pour les objets non étendus aux schémas, tels que les déclencheurs DDL et les notifications d'événements.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL


OBJECTPROPERTY ( id , property ) 

id

Expression représentant l'ID de l'objet dans la base de données active. id est de type int et est considéré comme un objet étendu aux schémas dans le contexte de la base de données active.

property

Expression représentant les informations devant être retournées pour l'objet spécifié par id. property peut prendre l'une des valeurs suivantes :

ms176105.note(fr-fr,SQL.90).gifRemarque :
Sauf indication contraire, NULL est retourné lorsque property n'est pas un nom de propriété valide, lorsque id n'est pas un ID d'objet valide, lorsque id est un type d'objet non pris en charge pour la valeur spécifiée de property, ou lorsque l'appelant n'est pas autorisé à consulter les métadonnées de l'objet.

Nom de la propriété Type d'objet Description et valeurs renvoyées

CnstIsClustKey

Contrainte

Contrainte PRIMARY KEY avec un index cluster.

1 = Vrai

0 = Faux

CnstIsColumn

Contrainte

Contrainte CHECK, DEFAULT ou FOREIGN KEY sur une colonne unique.

1 = Vrai

0 = Faux

CnstIsDeleteCascade

Contrainte

Une contrainte FOREIGN KEY avec l'option ON DELETE CASCADE.

1 = Vrai

0 = Faux

CnstIsDisabled

Contrainte

Contrainte désactivée.

1 = Vrai

0 = Faux

CnstIsNonclustKey

Contrainte

Contrainte PRIMARY KEY ou UNIQUE avec index non-cluster.

1 = Vrai

0 = Faux

CnstIsNotRepl

Contrainte

La contrainte est définie avec les mots clés NOT FOR REPLICATION.

1 = Vrai

0 = Faux

CnstIsNotTrusted

Contrainte

La contrainte a été activée sans vérifier les lignes existantes. Elle peut ne pas s'appliquer à toutes les lignes.

1 = Vrai

0 = Faux

CnstIsUpdateCascade

Contrainte

Une contrainte FOREIGN KEY avec l'option ON UPDATE CASCADE.

1 = Vrai

0 = Faux

ExecIsAfterTrigger

Déclencheur

Déclencheur AFTER.

1 = Vrai

0 = Faux

ExecIsAnsiNullsOn

Fonction Transact-SQL, procédure Transact-SQL, déclencheur Transact-SQL, vue

Définition de valeurs ANSI NULL lors de la création.

1 = Vrai

0 = Faux

ExecIsDeleteTrigger

Déclencheur

Déclencheur DELETE

1 = Vrai

0 = Faux

ExecIsFirstDeleteTrigger

Déclencheur

Premier déclencheur activé lorsqu'une instruction DELETE est exécutée sur la table.

1 = Vrai

0 = Faux

ExecIsFirstInsertTrigger

Déclencheur

Premier déclencheur activé lorsqu'une instruction INSERT est exécutée sur la table.

1 = Vrai

0 = Faux

ExecIsFirstUpdateTrigger

Déclencheur

Premier déclencheur activé lorsqu'une instruction UPDATE est exécutée sur la table.

1 = Vrai

0 = Faux

ExecIsInsertTrigger

Déclencheur

Déclencheur INSERT

1 = Vrai

0 = Faux

ExecIsInsteadOfTrigger

Déclencheur

Déclencheur INSTEAD OF.

1 = Vrai

0 = Faux

ExecIsLastDeleteTrigger

Déclencheur

Dernier déclencheur activé lorsqu'une instruction DELETE est exécutée sur la table.

1 = Vrai

0 = Faux

ExecIsLastInsertTrigger

Déclencheur

Dernier déclencheur activé lorsqu'une instruction INSERT est exécutée sur la table.

1 = Vrai

0 = Faux

ExecIsLastUpdateTrigger

Déclencheur

Dernier déclencheur activé lorsqu'une instruction UPDATE est exécutée sur la table.

1 = Vrai

0 = Faux

ExecIsQuotedIdentOn

Fonction Transact-SQL, procédure Transact-SQL, déclencheur Transact-SQL, vue

Définition de QUOTED_IDENTIFIER lors de la création.

1 = Vrai

0 = Faux

ExecIsStartup

Procédure

Procédure de démarrage.

1 = Vrai

0 = Faux

ExecIsTriggerDisabled

Déclencheur

Déclencheur désactivé.

1 = Vrai

0 = Faux

ExecIsTriggerNotForRepl

Déclencheur

Déclencheur défini comme NOT FOR REPLICATION.

1 = Vrai

0 = Faux

ExecIsUpdateTrigger

Déclencheur

Déclencheur UPDATE.

1 = Vrai

0 = Faux

HasAfterTrigger

Table, vue

La table ou la vue comporte un déclencheur AFTER.

1 = Vrai

0 = Faux

HasDeleteTrigger

Table, vue

La table ou la vue comporte un déclencheur DELETE.

1 = Vrai

0 = Faux

HasInsertTrigger

Table, vue

La table ou la vue comporte un déclencheur INSERT.

1 = Vrai

0 = Faux

HasInsteadOfTrigger

Table, vue

La table ou la vue comporte un déclencheur INSTEAD OF.

1 = Vrai

0 = Faux

HasUpdateTrigger

Table, vue

La table ou la vue comporte un déclencheur UPDATE.

1 = Vrai

0 = Faux

IsAnsiNullsOn

Fonction Transact-SQL, procédure Transact-SQL, table, déclencheur Transact-SQL, vue

Spécifie que le paramètre d'option ANSI NULLS de la table a la valeur ON. Cela signifie que toutes les comparaisons avec une valeur nulle produisent la valeur UNKNOWN. Ce paramètre s'applique à l'ensemble des expressions dans la définition de la table, y compris les colonnes et les contraintes calculées, à condition que la table existe.

1 = Vrai

0 = Faux

IsCheckCnst

Tout objet étendu aux schémas

Contrainte CHECK

1 = Vrai

0 = Faux

IsConstraint

Tout objet étendu aux schémas

Contrainte CHECK, DEFAULT ou FOREIGN KEY à une seule colonne sur une colonne ou une table.

1 = Vrai

0 = Faux

IsDefault

Tout objet étendu aux schémas

Valeur par défaut associée.

1 = Vrai

0 = Faux

IsDefaultCnst

Tout objet étendu aux schémas

Contrainte DEFAULT.

1 = Vrai

0 = Faux

IsDeterministic

Fonction, vue

Propriété de déterminisme de la fonction ou de la vue.

1 = Déterministe

0 = Non déterministe

IsExecuted

Tout objet étendu aux schémas

Objet pouvant être exécuté (vue, procédure, fonction ou déclencheur).

1 = Vrai

0 = Faux

IsExtendedProc

Tout objet étendu aux schémas

Procédure étendue.

1 = Vrai

0 = Faux

IsForeignKey

Tout objet étendu aux schémas

Contrainte FOREIGN KEY.

1 = Vrai

0 = Faux

IsIndexed

Table, vue

Table ou vue comportant un index.

1 = Vrai

0 = Faux

IsIndexable

Table, vue

Table ou vue pour laquelle un index peut être créé.

1 = Vrai

0 = Faux

IsInlineFunction

Fonction

Fonction Inline.

1 = Fonction Inline

0 = Fonction non inline

IsMSShipped

Tout objet étendu aux schémas

Objet créé durant l'installation de SQL Server 2005.

1 = Vrai

0 = Faux

IsPrimaryKey

Tout objet étendu aux schémas

Contrainte PRIMARY KEY.

1 = Vrai

0 = Faux

NULL = N'est pas une fonction, ou identificateur de l'objet non valide.

IsProcedure

Tout objet étendu aux schémas

Procédure.

1 = Vrai

0 = Faux

IsQuotedIdentOn

Fonction Transact-SQL, procédure Transact-SQL, table, déclencheur Transact-SQL, vue, contrainte CHECK, définition DEFAULT

Spécifie que le paramètre d'identificateur entre guillemets pour l'objet est ON. Cela signifie que des guillemets doubles délimitent les identificateurs dans toutes les expressions impliquées dans la définition de l'objet.

1 = ON

0 = OFF

IsQueue

Tout objet étendu aux schémas

File d'attente Service Broker.

1 = Vrai

0 = Faux

IsReplProc

Tout objet étendu aux schémas

Procédure de réplication.

1 = Vrai

0 = Faux

IsRule

Tout objet étendu aux schémas

Règle associée.

1 = Vrai

0 = Faux

IsScalarFunction

Fonction

Fonction à valeur scalaire.

1 = Fonction scalaire

0 = Fonction non scalaire

IsSchemaBound

Fonction, vue

Fonction ou vue liée à un schéma, créée à l'aide de SCHEMABINDING.

1 = Liée à un schéma

0 = Non liée à un schéma

IsSystemTable

Table

Table système.

1 = Vrai

0 = Faux

IsTable

Table

Table.

1 = Vrai

0 = Faux

IsTableFunction

Fonction

Fonction évaluée dans une table.

1 = Fonction table

0 = Fonction non-table

IsTrigger

Tout objet étendu aux schémas

Déclencheur.

1 = Vrai

0 = Faux

IsUniqueCnst

Tout objet étendu aux schémas

Contrainte UNIQUE.

1 = Vrai

0 = Faux

IsUserTable

Table

Table définie par l'utilisateur.

1 = Vrai

0 = Faux

IsView

Vue

Vue.

1 = Vrai

0 = Faux

OwnerId

Tout objet étendu aux schémas

Propriétaire de l'objet.

Le propriétaire du schéma n'est pas nécessairement le propriétaire de l'objet. Par exemple, les objets enfants (ceux où parent_object_id est non NULL) retournent toujours le même ID de propriétaire que leur parent.
ms176105.note(fr-fr,SQL.90).gifRemarque :

Non NULL = ID utilisateur de base de données du propriétaire de l'objet.

TableDeleteTrigger

Table

La table comporte un déclencheur DELETE.

>1 = ID du premier déclencheur du type donné.

TableDeleteTriggerCount

Table

La table comporte le nombre de déclencheurs DELETE spécifié.

>0 = Nombre de déclencheurs DELETE.

TableFullTextBackgroundUpdateIndexOn

Table

Un index de mise à jour d'arrière-plan de texte intégral est activé (suivi des modifications automatiques) pour la table.

1 = VRAI

0 = FALSE

TableFulltextCatalogId

Table

ID du catalogue de texte intégral dans lequel résident les données d'indexation de texte intégral de la table.

Différent de zéro= ID de catalogue de texte intégral associé à l'index unique qui identifie les lignes dans une table indexée en texte intégral.

0 = Table sans index de texte intégral.

TableFulltextChangeTrackingOn

Table

Le suivi des modifications de texte intégral est activé pour la table.

1 = VRAI

0 = FALSE

TableFulltextDocsProcessed

Table

Nombre de lignes traitées depuis le démarrage de l'indexation de texte intégral. Dans une table indexée pour la recherche de texte intégral, toutes les colonnes d'une ligne sont considérées comme faisant partir d'un document à indexer.

0 = Aucune analyse active ou l'indexation de texte intégral est terminée.

> 0 = Un des éléments suivants :

  • Le nombre de documents traités depuis le démarrage du remplissage complet, incrémentiel ou manuel du suivi des modifications.
  • Le nombre de lignes traitées après que le suivi des modifications avec le remplissage d'index de mise à jour d'arrière-plan ait été activé, le schéma d'index de texte intégral modifié, le catalogue de texte intégral reconstruit ou une instance de SQL Server redémarrée, etc.

NULL = Table sans index de texte intégral.

TableFulltextFailCount

Table

Nombre de lignes que la recherche de texte intégral n'a pas indexées.

0 = Remplissage terminé.

> 0 = Un des éléments suivants :

  • Le nombre de documents n'ayant pas été indexés depuis le démarrage du remplissage du suivi des modifications de la mise à jour complète, incrémentielle ou manuelle.
  • Pour le suivi des modifications avec l'index de mise à jour d'arrière-plan, le nombre de lignes n'ayant pas été indexées depuis le démarrage ou le redémarrage du remplissage. Cela peut être causé par une modification du schéma, une reconstruction du catalogue, un redémarrage du serveur, etc.

NULL = Table sans index de texte intégral.

TableFulltextItemCount

Table

Nombre de lignes dont l'indexation de texte intégral a réussi.

TableFulltextKeyColumn

Table

ID de la colonne associée à l'index de colonne unique qui fait partie de la définition de l'indexation de texte intégral.

0 = Table sans index de texte intégral.

TableFulltextPendingChanges

Table

Nombre d'entrées de suivi des modifications en attente à traiter.

0 = Suivi des modifications non activé.

NULL = Table sans index de texte intégral.

TableFulltextPopulateStatus

Table

0 = Inactif.

1 = Remplissage complet en cours.

2 = Remplissage incrémentiel en cours.

3 = Propagation du suivi des modifications en cours.

4 = Index de mise à jour d'arrière-plan en cours, tel que le suivi des modifications automatiques.

5 = L'indexation de texte intégral est accélérée ou en pause.

TableHasActiveFulltextIndex

Table

La table dispose d'un index de texte intégral actif.

1 = Vrai

0 = Faux

TableHasCheckCnst

Table

La table comporte une contrainte CHECK.

1 = Vrai

0 = Faux

TableHasClustIndex

Table

La table comporte un index cluster.

1 = Vrai

0 = Faux

TableHasDefaultCnst

Table

La table comporte une contrainte DEFAULT.

1 = Vrai

0 = Faux

TableHasDeleteTrigger

Table

La table comporte un déclencheur DELETE.

1 = Vrai

0 = Faux

TableHasForeignKey

Table

La table comporte une contrainte FOREIGN KEY.

1 = Vrai

0 = Faux

TableHasForeignRef

Table

La table est référencée par une contrainte FOREIGN KEY.

1 = Vrai

0 = Faux

TableHasIdentity

Table

La table comporte une colonne identité.

1 = Vrai

0 = Faux

TableHasIndex

Table

La table comporte un index de type non défini.

1 = Vrai

0 = Faux

TableHasInsertTrigger

Table

L'objet comporte un déclencheur INSERT.

1 = Vrai

0 = Faux

TableHasNonclustIndex

Table

La table comporte un index non-cluster.

1 = Vrai

0 = Faux

TableHasPrimaryKey

Table

La table comporte une clé primaire

1 = Vrai

0 = Faux

TableHasRowGuidCol

Table

La table comporte un ROWGUIDCOL pour une colonne uniqueidentifier.

1 = Vrai

0 = Faux

TableHasTextImage

Table

La table comporte une colonne text, ntext ou image.

1 = Vrai

0 = Faux

TableHasTimestamp

Table

La table comporte une colonne timestamp.

1 = Vrai

0 = Faux

TableHasUniqueCnst

Table

La table comporte une contrainte UNIQUE.

1 = Vrai

0 = Faux

TableHasUpdateTrigger

Table

L'objet comporte un déclencheur UPDATE.

1 = Vrai

0 = Faux

TableHasVarDecimalStorageFormat

Table

Table est activé pour le format de stockage vardecimal.

1 = True

0 = False

Pour obtenir des informations sur le format de stockage vardecimal, consultez Stockage des données décimales sous forme de colonne de longueur variable.

TableInsertTrigger

Table

La table comporte un déclencheur INSERT.

>1 = ID du premier déclencheur du type donné.

TableInsertTriggerCount

Table

La table comporte le nombre de déclencheurs INSERT spécifié.

>0 = Nombre de déclencheurs INSERT.

TableIsFake

Table

La table n'est pas réelle. Elle est matérialisée en interne sur demande par le moteur de base de données SQL Server 2005.

1 = Vrai

0 = Faux

TableIsLockedOnBulkLoad

Table

La table est verrouillée à cause d'un travail bcp ou BULK INSERT.

1 = Vrai

0 = Faux

TableIsPinned

Table

La table est attachée pour être conservée dans le cache de données.

0 = Faux

Cette fonctionnalité n'est pas prise en charge dans SQL Server 2005.

TableTextInRowLimit

Table

Nombre maximal d'octets autorisé pour text in row.

0 si l'option text in row n'est pas définie.

TableUpdateTrigger

Table

La table comporte un déclencheur UPDATE.

>1 = ID du premier déclencheur du type donné.

TableUpdateTriggerCount

Table

La table comporte le nombre de déclencheurs UPDATE spécifié.

> 0 = Nombre de déclencheurs UPDATE.

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 OBJECTPROPERTY, 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.

Le moteur de base de données considère que object_id se situe dans le contexte de la base de données active. Une requête référençant un object_id dans une autre base de données renverra NULL ou des résultats incorrects. Par exemple, dans la requête suivante le contexte de la base de données active est la base de données master. Le moteur de base de données tentera de retourner la valeur de la propriété de l'object_id spécifié dans cette base de données et non dans la base de données spécifiée dans la requête. La requête renvoie des résultats incorrects car la vue vEmployee n'est pas dans la base de données master.

USE master;
GO
SELECT OBJECTPROPERTY(OBJECT_ID(N'AdventureWorks.HumanResources.vEmployee'), 'IsView');
GO

OBJECTPROPERTY (view_id, 'IsIndexable') peut utiliser un volume important de ressources système, car l'évaluation de la propriété IsIndexable nécessite l'analyse de la définition de la vue, sa normalisation et son optimisation partielle. Bien que la propriété IsIndexable identifie les tables ou les vues qui peuvent être indexées, la création effective de l'index peut échouer si certaines conditions de clé d'index ne sont pas respectées. Pour plus d'informations, consultez CREATE INDEX (Transact-SQL).

OBJECTPROPERTY(table_id, 'TableHasActiveFulltextIndex') retourne la valeur 1 (true) lorsqu'au moins une colonne d'une table est ajoutée pour l'indexation. L'indexation de texte intégral est activée au niveau du remplissage dès l'ajout de la première colonne à indexer.

Lors de la création d'une table, l'option QUOTED IDENTIFIER est toujours stockée avec la valeur ON dans les métadonnées de la table, même si elle a la valeur OFF au moment de sa création. Donc, OBJECTPROPERTY(table_id, 'IsQuotedIdentOn') retourne toujours une valeur 1 (true).

A. Vérification qu'un objet est une table

L'exemple suivant teste si UnitMeasure est une table dans la base de données AdventureWorks.

USE AdventureWorks;
GO
IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') = 1
   PRINT 'UnitMeasure is a table.'
ELSE IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') = 0
   PRINT 'UnitMeasure is not a table.'
ELSE IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') IS NULL
   PRINT 'ERROR: UnitMeasure is not a valid object.';
GO

B. Vérification du déterminisme d'une fonction définie par l'utilisateur à valeur scalaire

L'exemple suivant teste si la fonction ufnGetProductDealerPrice (à valeur scalaire et définie par l'utilisateur), qui renvoie une valeur money, est déterministe.

USE AdventureWorks;
GO
SELECT OBJECTPROPERTY(OBJECT_ID('dbo.ufnGetProductDealerPrice'), 'IsDeterministic');
GO

Le jeu de résultats révèle que ufnGetProductDealerPrice n'est pas une fonction déterministe.

-----
0

C. Recherche des objets appartenant à un schéma spécifique

L'exemple suivant utilise la propriété SchemaId pour retourner tous les objets qui appartiennent au schéma Production.

USE AdventureWorks;
GO
SELECT name, object_id, type_desc
FROM sys.objects 
WHERE OBJECTPROPERTY(object_id, N'SchemaId') = SCHEMA_ID(N'Production')
ORDER BY type_desc, name;
GO

Version Historique

12 décembre 2006

Nouveau contenu :
  • Ajout de la propriété TableHasVarDecimalStorageFormat, disponible dans le Service Pack 2.

17 juillet 2006

Nouveau contenu :
  • Ajout de la section Exceptions.

5 décembre 2005

Contenu modifié :
  • La définition des propriétés IsTableFunction et IsScalarFunction a été corrigée.
  • L'exemple C a été modifié.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft