OBJECTPROPERTY (Transact-SQL)

Gibt Informationen zu Objekten mit Schemabereich in 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. Es wird davon ausgegangen, dass es sich hierbei um ein Objekt mit Schemabereich im aktuellen Datenbankkontext handelt.

  • property
    Ein Ausdruck, der die Informationen darstellt, die für das Objekt zurückgeben werden, das mit id angegeben wird. property kann einen der folgenden Werte haben.

    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

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

    1 = True

    0 = False

    CnstIsDeleteCascade

    Einschränkung

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

    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 wurde mit NOT FOR REPLICATION-Schlüsselwörtern 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

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

    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

    Trigger wurde als NOT FOR REPLICATION definiert.

    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

    Jedes Objekt mit Schemabereich.

    CHECK-Einschränkung

    1 = True

    0 = False

    IsConstraint

    Jedes Objekt mit Schemabereich

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

    1 = True

    0 = False

    IsDefault

    Jedes Objekt mit Schemabereich

    Gebundener Standard.

    1 = True

    0 = False

    IsDefaultCnst

    Jedes 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

    Jedes Objekt mit Schemabereich

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

    1 = True

    0 = False

    IsExtendedProc

    Jedes Objekt mit Schemabereich

    Erweiterte Prozedur.

    1 = True

    0 = False

    IsForeignKey

    Jedes 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

    Jedes Objekt mit Schemabereich

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

    1 = True

    0 = False

    IsPrimaryKey

    Jedes Objekt mit Schemabereich

    PRIMARY KEY-Einschränkung

    1 = True

    0 = False

    NULL = Keine Funktion oder ungültige Objekt-ID

    IsProcedure

    Jedes 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 begrenzte Bezeichner mit doppelten Anführungszeichen in allen Ausdrücken gekennzeichnet sind, die an der Objektdefinition beteiligt sind.

    1 = ON

    0 = OFF

    IsQueue

    Jedes Objekt mit Schemabereich

    Service Broker-Warteschlange

    1 = True

    0 = False

    IsReplProc

    Jedes Objekt mit Schemabereich

    Replikationsprozedur.

    1 = True

    0 = False

    IsRule

    Jedes Objekt mit Schemabereich

    Gebundene Regel.

    1 = True

    0 = False

    IsScalarFunction

    Funktion

    Skalarwertige Funktion.

    1 = Skalarwertfunktion

    0 = Keine Skalarwertfunktion

    IsSchemaBound

    Funktion, Sicht

    Eine schemagebundene Funktion oder Sicht, die mit SCHEMABINDING erstellt wurde.

    1 = Schemagebunden

    0 = Nicht schemagebunden

    IsSystemTable

    Tabelle

    Systemtabelle.

    1 = True

    0 = False

    IsTable

    Tabelle

    Tabelle.

    1 = True

    0 = False

    IsTableFunction

    Funktion

    Tabellenwertige Funktion.

    1 = Tabellenwertfunktion

    0 = Keine Tabellenwertfunktion

    IsTrigger

    Jedes Objekt mit Schemabereich

    Trigger.

    1 = True

    0 = False

    IsUniqueCnst

    Jedes 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

    Jedes Objekt mit Schemabereich

    Besitzer des Objekts.

    HinweisHinweis
    Der Schemabesitzer ist nicht unbedingt 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 mit dem 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

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

    1 = TRUE

    0 = FALSE

    TableFulltextCatalogId

    Tabelle

    Die 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, für die ein Index für die Volltextsuche erstellt wird, werden alle Spalten einer Zeile als Teil eines Dokuments betrachtet, das indiziert werden muss.

    0 = Kein aktiver Crawl oder keine Volltextindizierung wurde abgeschlossen.

    > 0 = Eine der folgenden Angaben:

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

    • Die Anzahl der Zeilen, die mithilfe von Einfüge- und Aktualisierungsvorgängen verarbeitet wurden, seit die Änderungsnachverfolgung mit Auffüllung mithilfe der Indexaktualisierung 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 Angaben:

    • Die Anzahl von Dokumenten, für die seit dem Start der vollständigen, inkrementellen oder manuellen Auffüllung bei der Änderungsnachverfolgung für Aktualisierungen kein Index erstellt wurde.

    • Bei der Änderungsnachverfolgung mit Indexaktualisierung im Hintergrund: die Anzahl Zeilen, für die seit dem Start des Auffüllens oder seit dem Neustart des Auffüllens kein Index erstellt wurde. 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

    Die ID der Spalte, die dem eindeutigen und 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 = Das inkrementelle Auffüllen wird ausgeführt.

    3 = Die Weitergabe von Überarbeitungen wird ausgeführt.

    4 = Die Indexaktualisierung wird im Hintergrund ausgeführt, wie z. B. die automatische Änderungsnachverfolgung.

    5 = Die Volltextindizierung ist 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

    Die Tabelle 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 Spalte vom Typ timestamp.

    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 des angegebenen Typs.

    TableInsertTriggerCount

    Tabelle

    Die Tabelle besitzt die angegebene Anzahl INSERT-Trigger.

    >0 = Die Anzahl INSERT-Trigger.

    TableIsFake

    Tabelle

    Die Tabelle ist nicht wirklich 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

    Dieses Feature wird in SQL Server 2005 und höheren Versionen nicht unterstützt.

    TableTextInRowLimit

    Tabelle

    Die maximal zulässige Anzahl Byte für text in row.

    Hat den Wert 0, wenn die Option text in row nicht festgelegt wurde.

    TableUpdateTrigger

    Tabelle

    Die Tabelle besitzt einen UPDATE-Trigger.

    >1 = ID des ersten Triggers mit dem angegebenen Typ.

    TableUpdateTriggerCount

    Tabelle

    Die Tabelle besitzt die angegebene Anzahl UPDATE-Trigger.

    >0 = Die Anzahl UPDATE-Trigger.

    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 und unter Behandlung von Problemen bei der Sichtbarkeit von Metadaten.

Hinweise

Database Engine (Datenbankmodul) setzt voraus, dass sich object_id im aktuellen Datenbankkontext befindet. Eine Abfrage, die auf einen Wert von object_id in einer anderen Datenbank verweist, gibt NULL oder falsche Ergebnisse zurück. In der folgenden Abfrage ist beispielsweise die master-Datenbank der aktuelle Datenbankkontext. 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'AdventureWorks.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 angibt, für die ein Index erstellt werden kann, kann die tatsächliche Erstellung des Indexes fehlschlagen, wenn bestimmte Anforderungen an den Indexschlüssel nicht erfüllt werden. 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 eine Tabelle ist

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

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. Überprüfen, ob eine skalarwertige benutzerdefinierte Funktion deterministisch ist

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

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