OBJECT_DEFINITION (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance
Gibt den Transact-SQL-Quelltext der Definition eines angegebenen Objekts zurück.
Transact-SQL-Syntaxkonventionen
Syntax
OBJECT_DEFINITION ( object_id )
Argumente
object_id
Die ID des zu verwendenden Objekts. object_id ist vom Datentyp int; und es wird davon ausgegangen, dass dadurch ein Objekt im aktuellen Datenbankkontext dargestellt wird.
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.
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. OBJECT_DEFINITION, möglicherweise NULL zurückgeben, wenn dem Benutzer für das Objekt keine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Metadata Visibility Configuration.
Hinweise
Die SQL Server-Datenbank-Engine setzt voraus, 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_ddladminund db_securityadmin .
Beispiele
A. Zurückgeben des Quelltexts 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 AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];
GO
B. Zurückgeben des Quelltexts eines Systemobjekts
Im folgenden Beispiel wird die Definition der gespeicherten Systemprozedur sys.sp_columns
zurückgegeben.
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
GO
Weitere Informationen
Metadatenfunktionen (Transact-SQL)
OBJECT_NAME (Transact-SQL)
OBJECT_ID (Transact-SQL)
sp_helptext (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.server_sql_modules (Transact-SQL)