OBJECT_DEFINITION (Transact-SQL)

Aktualisiert: 17. Juli 2006

Gibt den Transact-SQL-Quelltext der Definition eines angegebenen Objekts zurück.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

OBJECT_DEFINITION ( object_id )

Argumente

  • object_id
    Die ID des Objekts, das verwendet werden soll. object_id ist vom Datentyp int, und es wird davon ausgegangen, dass es ein Objekt im aktuellen Datenbankkontext darstellt.

Rückgabetypen

nvarchar(max)

Ausnahmen

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

In SQL Server 2005 kann ein Benutzer 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. OBJECT_DEFINITION, 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

In SQL Server-Datenbankmodul wird vorausgesetzt, dass sich object_id im aktuellen Datenbankkontext befindet. Die Sortierung der Objektdefinition entspricht immer der des aufrufenden Datenbankkontexts.

OBJECT_DEFINITION gilt für folgende Objekttypen:

  • C = CHECK-Einschränkung
  • D = Standard (Einschränkung oder eigenständig)
  • P = Gespeicherte SQL-Prozedur
  • FN = SQL-Skalarfunktion
  • R = Regel
  • RF = Replikationsfilterprozedur
  • TR = SQL-Trigger (DML-Trigger mit Schemabereich oder DDL-Trigger entweder im Datenbank- oder Serverbereich)
  • IF = SQL-Inlinefunktion mit Tabellenrückgabe
  • TF = SQL-Tabellenwertfunktionen
  • V = Sicht

Berechtigungen

Definitionen von Systemobjekten sind öffentlich sichtbar. Die Definition von Benutzerobjekten ist für den Objektbesitzer sichtbar oder für Berechtigte, die über eine der folgenden Berechtigungen verfügen: ALTER, CONTROL, TAKE OWNERSHIP oder VIEW DEFINITION. Über diese Berechtigungen verfügen implizit Mitglieder der festen Datenbankrollen db_owner, db_ddladmin und db_securityadmin.

Beispiele

A. Zurückgeben des Quelltextes eines benutzerdefinierten Objekts

Im folgenden Beispiel wird die Definition des benutzerdefinierten Triggers uAddress im Person-Schema zurückgegeben. Die integrierte Funktion OBJECT_ID wird verwendet, um die Objekt-ID des Triggers der OBJECT_DEFINITION-Anweisung zurückzugeben.

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

B. Zurückgeben des Quelltextes eines Systemobjekts

Im folgenden Beispiel wird die Definition der gespeicherten Systemprozedur sys.sp_columns zurückgegeben.

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

Siehe auch

Verweis

Metadatenfunktionen (Transact-SQL)
OBJECT_NAME (Transact-SQL)
OBJECT_ID (Transact-SQL)
sp_helptext (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.server_sql_modules

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

17. Juli 2006

Neuer Inhalt:
  • Informationen zur Metadatensichtbarkeit wurden dem Abschnitt mit den Ausnahmen hinzugefügt.