OBJECTPROPERTY (Transact-SQL)

Gibt Informationen zu Objekten mit Schemabereich der aktuellen Datenbank zurück. Eine Liste der Objekte mit Schemabereich finden Sie unter sys.objects (Transact-SQL). Diese Funktion kann nicht für Objekte ohne Schemabereich verwendet werden, wie z. B. DDL-Trigger (DDL, Data Definition Language) und Ereignisbenachrichtigungen.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

OBJECTPROPERTY ( id , property ) 

Argumente

  • id
    Ein Ausdruck, der die ID des Objekts in der aktuellen Datenbank darstellt. id ist vom Datentyp int, und es wird davon ausgegangen, dass es sich um ein Objekt mit Schemabereich im aktuellen Datenbankkontext handelt.

  • property
    Ein Ausdruck, der die Informationen darstellt, die für das von id angegebene Objekt zurückgegeben werden sollen. Für property sind die folgenden Werte möglich.

    HinweisHinweis

    Sofern nichts anderes angegeben ist, wird NULL zurückgegeben, wenn property kein gültiger Eigenschaftsname ist, id keine gültige Objekt-ID ist, id ein nicht unterstützter Objekttyp für den angegebenen Wert von property ist oder der Aufrufer nicht über die Berechtigung zum Anzeigen der Metadaten des Objekts verfügt.

    Eigenschaftsname

    Objekttyp

    Beschreibung und Rückgabewerte

    CnstIsClustKey

    Einschränkung

    PRIMARY KEY-Einschränkung mit einem gruppierten Index.

    1 = True

    0 = False

    CnstIsColumn

    Einschränkung

    Einschränkung CHECK, DEFAULT oder FOREIGN KEY für eine einzelne Spalte.

    1 = True

    0 = False

    CnstIsDeleteCascade

    Einschränkung

    FOREIGN KEY-Einschränkung mit der ON DELETE CASCADE-Option.

    1 = True

    0 = False

    CnstIsDisabled

    Einschränkung

    Deaktivierte Einschränkung.

    1 = True

    0 = False

    CnstIsNonclustKey

    Einschränkung

    PRIMARY KEY- oder UNIQUE-Einschränkung mit einem nicht gruppierten Index.

    1 = True

    0 = False

    CnstIsNotRepl

    Einschränkung

    Die Einschränkung wird mithilfe der Schlüsselwörter NOT FOR REPLICATION definiert.

    1 = True

    0 = False

    CnstIsNotTrusted

    Einschränkung

    Die Einschränkung wurde ohne Überprüfung der vorhandenen Zeilen aktiviert und gilt daher möglicherweise nicht für alle Zeilen.

    1 = True

    0 = False

    CnstIsUpdateCascade

    Einschränkung

    FOREIGN KEY-Einschränkung mit der ON UPDATE CASCADE-Option.

    1 = True

    0 = False

    ExecIsAfterTrigger

    Trigger

    AFTER-Trigger.

    1 = True

    0 = False

    ExecIsAnsiNullsOn

    Transact-SQL-Funktion, Transact-SQL-Prozedur, Transact-SQL-Trigger, Sicht

    Einstellung von ANSI_NULLS zum Zeitpunkt der Erstellung.

    1 = True

    0 = False

    ExecIsDeleteTrigger

    Trigger

    DELETE-Trigger.

    1 = True

    0 = False

    ExecIsFirstDeleteTrigger

    Trigger

    Der erste Trigger, der beim Ausführen einer DELETE-Anweisung für die Tabelle ausgelöst wird.

    1 = True

    0 = False

    ExecIsFirstInsertTrigger

    Trigger

    Der erste Trigger, der beim Ausführen einer INSERT-Anweisung für die Tabelle ausgelöst wird.

    1 = True

    0 = False

    ExecIsFirstUpdateTrigger

    Trigger

    Der erste Trigger, der beim Ausführen einer UPDATE-Anweisung für die Tabelle ausgelöst wird.

    1 = True

    0 = False

    ExecIsInsertTrigger

    Trigger

    INSERT-Trigger.

    1 = True

    0 = False

    ExecIsInsteadOfTrigger

    Trigger

    INSTEAD OF-Trigger.

    1 = True

    0 = False

    ExecIsLastDeleteTrigger

    Trigger

    Der letzte Trigger, der beim Ausführen einer DELETE-Anweisung für die Tabelle ausgelöst wird.

    1 = True

    0 = False

    ExecIsLastInsertTrigger

    Trigger

    Der letzte Trigger, der beim Ausführen einer INSERT-Anweisung für die Tabelle ausgelöst wird.

    1 = True

    0 = False

    ExecIsLastUpdateTrigger

    Trigger

    Der letzte Trigger, der beim Ausführen einer UPDATE-Anweisung für die Tabelle ausgelöst wird.

    1 = True

    0 = False

    ExecIsQuotedIdentOn

    Transact-SQL-Funktion, Transact-SQL-Prozedur, Transact-SQL-Trigger, Sicht

    Einstellung von QUOTED_IDENTIFIER zum Zeitpunkt der Erstellung.

    1 = True

    0 = False

    ExecIsStartup

    Prozedur

    Autostartprozedur.

    1 = True

    0 = False

    ExecIsTriggerDisabled

    Trigger

    Deaktivierter Trigger.

    1 = True

    0 = False

    ExecIsTriggerNotForRepl

    Trigger

    Als NOT FOR REPLICATION definierter Trigger.

    1 = True

    0 = False

    ExecIsUpdateTrigger

    Trigger

    UPDATE-Trigger.

    1 = True

    0 = False

    HasAfterTrigger

    Tabelle, Sicht

    Die Tabelle oder Sicht besitzt einen AFTER-Trigger.

    1 = True

    0 = False

    HasDeleteTrigger

    Tabelle, Sicht

    Die Tabelle oder Sicht besitzt einen DELETE-Trigger.

    1 = True

    0 = False

    HasInsertTrigger

    Tabelle, Sicht

    Die Tabelle oder Sicht besitzt einen INSERT-Trigger.

    1 = True

    0 = False

    HasInsteadOfTrigger

    Tabelle, Sicht

    Die Tabelle oder Sicht besitzt einen INSTEAD OF-Trigger.

    1 = True

    0 = False

    HasUpdateTrigger

    Tabelle, Sicht

    Die Tabelle oder Sicht besitzt einen UPDATE-Trigger.

    1 = True

    0 = False

    IsAnsiNullsOn

    Transact-SQL-Funktion, Transact-SQL-Prozedur, Tabelle, Transact-SQL-Trigger, Sicht

    Gibt an, dass die Option ANSI NULLS für die Tabelle auf ON gesetzt wurde. Das bedeutet, dass alle Vergleiche mit einem Nullwert UNKNOWN ergeben. Diese Einstellung gilt für alle Ausdrücke in der Tabellendefinition, einschließlich berechneter Spalten und Einschränkungen, solange die Tabelle vorhanden ist.

    1 = True

    0 = False

    IsCheckCnst

    Ein beliebiges Objekt mit Schemabereich

    CHECK-Einschränkung.

    1 = True

    0 = False

    IsConstraint

    Ein beliebiges Objekt mit Schemabereich

    Eine einspaltige CHECK-, DEFAULT- oder FOREIGN KEY-Einschränkung für eine Spalte oder Tabelle.

    1 = True

    0 = False

    IsDefault

    Ein beliebiges Objekt mit Schemabereich

    Gebundener Standard.

    1 = True

    0 = False

    IsDefaultCnst

    Ein beliebiges Objekt mit Schemabereich

    DEFAULT-Einschränkung.

    1 = True

    0 = False

    IsDeterministic

    Funktion, Sicht

    Die Determinismuseigenschaft der Funktion oder Sicht.

    1 = Deterministisch

    0 = Nicht deterministisch

    IsEncrypted

    Transact-SQL-Funktion, Transact-SQL-Prozedur, Tabelle, Transact-SQL-Trigger, Sicht

    Gibt an, dass der Originaltext der Modulanweisung in ein verborgenes Format umgewandelt wurde. Die Ausgabe der Verbergung ist nicht direkt in den Katalogsichten in SQL Server 2005 sichtbar. Benutzer, die keinen Zugriff auf Systemtabellen oder Datenbankdateien haben, können den verborgenen Text nicht abrufen. Der Text ist jedoch für Benutzer verfügbar, die entweder auf die Systemtabellen über den DAC-Port oder direkt auf die Datenbankdateien zugreifen können. Des Weiteren können Benutzer, die einen Debugger an den Serverprozess anfügen können, die ursprüngliche Prozedur zur Laufzeit aus dem Arbeitsspeicher abrufen.

    1 = Verschlüsselt.

    0 = Nicht verschlüsselt.

    Basisdatentyp: int

    IsExecuted

    Ein beliebiges Objekt mit Schemabereich

    Das Objekt kann ausgeführt werden (Sicht, Prozedur, Funktion oder Trigger).

    1 = True

    0 = False

    IsExtendedProc

    Ein beliebiges Objekt mit Schemabereich

    Erweiterte Prozedur.

    1 = True

    0 = False

    IsForeignKey

    Ein beliebiges Objekt mit Schemabereich

    FOREIGN KEY-Einschränkung.

    1 = True

    0 = False

    IsIndexed

    Tabelle, Sicht

    Eine Tabelle oder Sicht, die über einen Index verfügt.

    1 = True

    0 = False

    IsIndexable

    Tabelle, Sicht

    Eine Tabelle oder Sicht, für die ein Index erstellt werden kann.

    1 = True

    0 = False

    IsInlineFunction

    Funktion

    Inlinefunktion.

    1 = Inlinefunktion

    0 = Keine Inlinefunktion

    IsMSShipped

    Ein beliebiges Objekt mit Schemabereich

    Ein Objekt, das bei der Installation von SQL Server erstellt wurde.

    1 = True

    0 = False

    IsPrimaryKey

    Ein beliebiges Objekt mit Schemabereich

    PRIMARY KEY-Einschränkung.

    1 = True

    0 = False

    NULL = Keine Funktion oder ungültige Objekt-ID

    IsProcedure

    Ein beliebiges Objekt mit Schemabereich

    Prozedur.

    1 = True

    0 = False

    IsQuotedIdentOn

    Transact-SQL-Funktion, Transact-SQL-Prozedur, Tabelle, Transact-SQL-Trigger, Sicht, CHECK-Einschränkung, DEFAULT-Definition

    Gibt an, dass ON die Einstellung von quoted identifier für das Objekt ist. Das bedeutet, dass Begrenzungsbezeichner mit doppelten Anführungszeichen in allen Ausdrücken gekennzeichnet sind, die an der Objektdefinition beteiligt sind.

    1 = AUS

    0 = EIN

    IsQueue

    Ein beliebiges Objekt mit Schemabereich

    Service Broker-Warteschlange.

    1 = True

    0 = False

    IsReplProc

    Ein beliebiges Objekt mit Schemabereich

    Replikationsprozedur.

    1 = True

    0 = False

    IsRule

    Ein beliebiges Objekt mit Schemabereich

    Gebundene Regel.

    1 = True

    0 = False

    IsScalarFunction

    Funktion

    Skalarwertfunktion.

    1 = Skalarwertfunktion

    0 = Keine Skalarwertfunktion

    IsSchemaBound

    Funktion, Sicht

    Schemagebundene Funktion oder mithilfe von SCHEMABINDING erstellte Sicht.

    1 = Schemagebunden

    0 = Nicht schemagebunden

    IsSystemTable

    Tabelle

    Systemtabelle.

    1 = True

    0 = False

    IsTable

    Tabelle

    Tabelle.

    1 = True

    0 = False

    IsTableFunction

    Funktion

    Tabellenwertfunktion.

    1 = Tabellenwertfunktion

    0 = Keine Tabellenwertfunktion

    IsTrigger

    Ein beliebiges Objekt mit Schemabereich

    Trigger.

    1 = True

    0 = False

    IsUniqueCnst

    Ein beliebiges Objekt mit Schemabereich

    UNIQUE-Einschränkung.

    1 = True

    0 = False

    IsUserTable

    Tabelle

    Benutzerdefinierte Tabelle.

    1 = True

    0 = False

    IsView

    Sicht

    Sicht.

    1 = True

    0 = False

    OwnerId

    Ein beliebiges Objekt mit Schemabereich

    Besitzer des Objekts.

    HinweisHinweis

    Der Schemabesitzer ist nicht notwendigerweise der Objektbesitzer. Beispielsweise geben untergeordnete Objekte (diejenigen Objekte, bei denen der Wert von parent_object_id ungleich NULL ist) immer die gleiche Besitzer-ID zurück wie das übergeordnete Objekt.

    Nicht NULL = Die Datenbankbenutzer-ID des Objektbesitzers.

    TableDeleteTrigger

    Tabelle

    Die Tabelle besitzt einen DELETE-Trigger.

    >1 = ID des ersten Triggers vom angegebenen Typ.

    TableDeleteTriggerCount

    Tabelle

    Die Tabelle besitzt die angegebene Anzahl DELETE-Trigger.

    >0 = Die Anzahl DELETE-Trigger.

    TableFullTextMergeStatus

    Tabelle

    Gibt an, ob eine Tabelle über einen Volltextindex verfügt, der gerade zusammengeführt wird.

    0 = Tabelle hat keinen Volltextindex, oder der Volltextindex wird derzeit nicht zusammengeführt.

    1 = Der Volltextindex wird derzeit zusammengeführt.

    TableFullTextBackgroundUpdateIndexOn

    Tabelle

    Updates im Hintergrund für den Volltextindex der Tabelle sind aktiviert (automatisches Nachverfolgen von Änderungen).

    1 = TRUE

    0 = FALSE

    TableFulltextCatalogId

    Tabelle

    ID des Volltextkatalogs, in dem die Daten des Volltextindexes für die Tabelle gespeichert sind.

    Ungleich 0 = ID des Volltextkatalogs, die dem eindeutigen Index zugeordnet ist, der die Zeilen in einer volltextindizierten Tabelle identifiziert.

    0 = Die Tabelle besitzt keinen Volltextindex.

    TableFulltextChangeTrackingOn

    Tabelle

    Die Volltext-Änderungsnachverfolgung ist für die Tabelle aktiviert.

    1 = TRUE

    0 = FALSE

    TableFulltextDocsProcessed

    Tabelle

    Die Anzahl von Zeilen, die seit dem Start der Volltextindizierung verarbeitet wurden. In einer Tabelle, die für die Volltextsuche indiziert wird, werden alle Spalten einer Zeile als Teil eines zu indizierenden Dokuments betrachtet.

    0 = Keine aktive Durchforstungs- oder Volltextindizierung wurde abgeschlossen.

    > 0 = Eine der folgenden Möglichkeiten:

    • Die Anzahl der seit dem Start der vollständigen, inkrementellen oder manuellen Änderungsnachverfolgung mithilfe von Einfüge- und Updatevorgängen verarbeiteten Dokumente.

    • Die Anzahl der Zeilen, die mithilfe von Einfüge- und Updatevorgängen verarbeitet wurden, seit die Änderungsnachverfolgung mit Auffüllung mithilfe von Indexupdates im Hintergrund aktiviert wurde, das Schema für den Volltextindex geändert wurde, der Volltextkatalog erneut erstellt wurde oder die Instanz von SQL Server neu gestartet wurde usw.

    NULL = Die Tabelle besitzt keinen Volltextindex.

    HinweisHinweis

    Diese Eigenschaft überwacht die Anzahl gelöschter Zeilen nicht und zählt sie auch nicht.

    TableFulltextFailCount

    Tabelle

    Die Anzahl von Zeilen, für die die Volltextsuche keinen Index erstellte.

    0 = Die Auffüllung wurde abgeschlossen.

    > 0 = Eine der folgenden Möglichkeiten:

    • Die Anzahl der Dokumente, die seit dem Start der Auffüllung mithilfe der vollständigen, inkrementellen und manuellen Änderungsnachverfolgung nicht indiziert wurden.

    • Bei der Änderungsnachverfolgung mit Indexupdate im Hintergrund die Anzahl der Zeilen, die seit dem Start der Auffüllung oder dem Neustart der Auffüllung nicht indiziert wurden. Ursache dafür kann eine Schemaänderung, eine Neuerstellung des Katalogs, ein Neustart des Servers usw. sein.

    NULL = Die Tabelle besitzt keinen Volltextindex.

    TableFulltextItemCount

    Tabelle

    Die Anzahl von Zeilen, für die ein Volltextindex erfolgreich erstellt wurde.

    TableFulltextKeyColumn

    Tabelle

    ID der Spalte, die dem eindeutigen einspaltigen Index zugeordnet ist, der Teil der Definition des Volltextindexes ist.

    0 = Die Tabelle besitzt keinen Volltextindex.

    TableFulltextPendingChanges

    Tabelle

    Die Anzahl der noch ausstehenden Einträge der Änderungsnachverfolgung, die noch verarbeitet werden müssen.

    0 = Die Änderungsnachverfolgung ist nicht aktiviert.

    NULL = Die Tabelle besitzt keinen Volltextindex.

    TableFulltextPopulateStatus

    Tabelle

    0 = Im Leerlauf.

    1 = Das vollständige Auffüllen wird ausgeführt.

    2 = Inkrementelle Auffüllung wird ausgeführt.

    3 = Propagierung der Überarbeitungen wird ausgeführt.

    4 = Indexupdate im Hintergrund wird ausgeführt, z. B. automatische Änderungsnachverfolgung.

    5 = Volltextindizierung wurde gedrosselt oder angehalten.

    TableHasActiveFulltextIndex

    Tabelle

    Die Tabelle besitzt einen aktiven Volltextindex.

    1 = True

    0 = False

    TableHasCheckCnst

    Tabelle

    Die Tabelle besitzt eine CHECK-Einschränkung.

    1 = True

    0 = False

    TableHasClustIndex

    Tabelle

    Die Tabelle besitzt einen gruppierten Index.

    1 = True

    0 = False

    TableHasDefaultCnst

    Tabelle

    Die Tabelle besitzt eine DEFAULT-Einschränkung.

    1 = True

    0 = False

    TableHasDeleteTrigger

    Tabelle

    Die Tabelle besitzt einen DELETE-Trigger.

    1 = True

    0 = False

    TableHasForeignKey

    Tabelle

    Die Tabelle besitzt eine FOREIGN KEY-Einschränkung.

    1 = True

    0 = False

    TableHasForeignRef

    Tabelle

    Auf die Tabelle wird mit einer FOREIGN KEY-Einschränkung verwiesen.

    1 = True

    0 = False

    TableHasIdentity

    Tabelle

    Die Tabelle besitzt eine Identitätsspalte.

    1 = True

    0 = False

    TableHasIndex

    Tabelle

    Die Tabelle besitzt einen Index beliebigen Typs.

    1 = True

    0 = False

    TableHasInsertTrigger

    Tabelle

    Das Objekt besitzt einen INSERT-Trigger.

    1 = True

    0 = False

    TableHasNonclustIndex

    Tabelle

    Die Tabelle besitzt einen nicht gruppierten Index.

    1 = True

    0 = False

    TableHasPrimaryKey

    Tabelle

    Die Tabelle besitzt einen Primärschlüssel.

    1 = True

    0 = False

    TableHasRowGuidCol

    Tabelle

    Die Tabelle besitzt ROWGUIDCOL für eine Spalte vom Typ uniqueidentifier.

    1 = True

    0 = False

    TableHasTextImage

    Tabelle

    Die Tabelle besitzt eine Spalte vom Typ text, ntext oder image.

    1 = True

    0 = False

    TableHasTimestamp

    Tabelle

    Die Tabelle besitzt eine timestamp-Spalte.

    1 = True

    0 = False

    TableHasUniqueCnst

    Tabelle

    Die Tabelle besitzt eine UNIQUE-Einschränkung.

    1 = True

    0 = False

    TableHasUpdateTrigger

    Tabelle

    Die Tabelle besitzt einen UPDATE-Trigger.

    1 = True

    0 = False

    TableHasVarDecimalStorageFormat

    Tabelle

    Für die Tabelle ist das vardecimal-Speicherformat zugelassen.

    1 = True

    0 = False

    TableInsertTrigger

    Tabelle

    Die Tabelle besitzt einen INSERT-Trigger.

    >1 = ID des ersten Triggers vom angegebenen Typ.

    TableInsertTriggerCount

    Tabelle

    Die Tabelle besitzt die angegebene Anzahl INSERT-Trigger.

    >0 = Die Anzahl von INSERT-Triggern.

    TableIsFake

    Tabelle

    Die Tabelle ist in Wirklichkeit nicht vorhanden. Sie wird bei Bedarf durch SQL Server Database Engine (Datenbankmodul) intern materialisiert.

    1 = True

    0 = False

    TableIsLockedOnBulkLoad

    Tabelle

    Die Tabelle ist aufgrund eines bcp- oder BULK INSERT-Auftrags gesperrt.

    1 = True

    0 = False

    TableIsPinned

    Tabelle

    Die Tabelle ist fixiert, damit sie im Datencache gespeichert wird.

    0 = False

    Diese Funktion wird in SQL Server 2005 und höheren Versionen nicht unterstützt.

    TableTextInRowLimit

    Tabelle

    Maximale Anzahl von Bytes, die für text in row zulässig sind.

    0, wenn die text in row-Option nicht festgelegt ist.

    TableUpdateTrigger

    Tabelle

    Die Tabelle besitzt einen UPDATE-Trigger.

    > 1 = ID des ersten Triggers vom angegebenen Typ.

    TableUpdateTriggerCount

    Tabelle

    Die Tabelle besitzt die angegebene Anzahl UPDATE-Trigger.

    > 0 = Die Anzahl von UPDATE-Triggern.

    TableHasColumnSet

    Tabelle

    Die Tabelle besitzt einen Spaltensatz.

    0 = False

    1 = True

    Weitere Informationen finden Sie unter Verwenden von Spaltensätzen.

Rückgabetypen

int

Ausnahmen

Gibt NULL bei einem Fehler zurück oder wenn ein Aufrufer nicht über Berechtigungen zum Anzeigen des Objekts verfügt.

Ein Benutzer kann nur die Metadaten sicherungsfähiger Elemente anzeigen, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Dies bedeutet, dass Metadaten ausgebende integrierte Funktionen, z. B. OBJECTPROPERTY, möglicherweise NULL zurückgeben, wenn dem Benutzer für das Objekt keine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten.

Hinweise

Das Database Engine (Datenbankmodul) setzt voraus, dass sich object_id im aktuellen Datenbankkontext befindet. Eine Abfrage, die auf object_id in einer anderen Datenbank verweist, gibt NULL oder falsche Ergebnisse zurück. Beispielsweise ist der aktuelle Datenbankkontext in der folgenden Abfrage die master-Datenbank. Database Engine (Datenbankmodul) versucht, den Eigenschaftenwert für die angegebene object_id in dieser Datenbank zurückzugeben und nicht in der Datenbank, die in der Abfrage angegeben ist. Die Abfrage gibt falsche Ergebnisse zurück, da sich die Sicht vEmployee nicht in der master-Datenbank befindet.

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

OBJECTPROPERTY(view_id, 'IsIndexable') hat möglicherweise einen hohen Verbrauch an Computerressourcen, da die Auswertung der IsIndexable-Eigenschaft das Analysieren der Sichtdefinition, die Normalisierung und die partielle Optimierung erfordert. Obwohl die IsIndexable-Eigenschaft Tabellen oder Sichten identifiziert, die indiziert werden können, kann die tatsächliche Erstellung des Indexes dennoch fehlschlagen, wenn bestimmte Indexschlüsselanforderungen nicht erfüllt sind. Weitere Informationen finden Sie unter CREATE INDEX (Transact-SQL).

OBJECTPROPERTY (table_id, 'TableHasActiveFulltextIndex') gibt den Wert 1 (True) zurück, wenn mindestens eine Spalte einer Tabelle für die Indizierung hinzugefügt wurde. Die Volltextindizierung wird für das Auffüllen aktiviert, sobald die erste Spalte für die Indizierung hinzugefügt wird.

Beim Erstellen einer Tabelle wird die Option QUOTED IDENTIFIER immer mit ON in den Metadaten der Tabelle gespeichert, selbst wenn für die Option beim Erstellen der Tabelle OFF festgelegt war. Deshalb gibt OBJECTPROPERTY(table_id, 'IsQuotedIdentOn') immer den Wert 1 (True) zurück.

Beispiele

A.Überprüfen, ob ein Objekt in einer Tabelle vorhanden ist

Im folgenden Beispiel wird getestet, ob UnitMeasure in der AdventureWorks2012 -Datenbank eine Tabelle ist.

USE AdventureWorks2012;
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.Überprüfen, ob eine benutzerdefinierte Skalarwertfunktion deterministisch ist

Im folgenden Beispiel wird getestet, ob die benutzerdefinierte skalarwertige Funktion ufnGetProductDealerPrice, die einen Wert vom Typ money zurückgibt, deterministisch ist.

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

Das Resultset zeigt, dass ufnGetProductDealerPrice keine deterministische Funktion ist.

-----

0

C.Suchen der Objekte, die zu einem bestimmten Schema gehören

Im folgenden Beispiel wird die SchemaId-Eigenschaft verwendet, um alle Objekte zurückzugeben, die dem Schema Production angehören.

USE AdventureWorks2012;
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

Siehe auch

Verweis

COLUMNPROPERTY (Transact-SQL)

Metadatenfunktionen (Transact-SQL)

OBJECTPROPERTYEX (Transact-SQL)

ALTER AUTHORIZATION (Transact-SQL)

TYPEPROPERTY (Transact-SQL)

sys.objects (Transact-SQL)