OBJECT_DEFINITION (Transact-SQL)OBJECT_DEFINITION (Transact-SQL)

GILT FÜR: jaSQL ServerjaAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Gibt den Transact-SQLTransact-SQL-Quelltext der Definition eines angegebenen Objekts zurück.Returns the Transact-SQLTransact-SQL source text of the definition of a specified object.

Themenlinksymbol Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

  
OBJECT_DEFINITION ( object_id )  

ArgumenteArguments

object_idobject_id
Die ID des zu verwendenden Objekts.Is the ID of the object to be used. object_id ist vom Datentyp int; und es wird davon ausgegangen, dass dadurch ein Objekt im aktuellen Datenbankkontext dargestellt wird.object_id is int, and assumed to represent an object in the current database context.

RückgabetypenReturn Types

nvarchar(max)nvarchar(max)

AusnahmenExceptions

Gibt NULL bei einem Fehler zurück oder wenn ein Aufrufer nicht über Berechtigungen zum Anzeigen des Objekts verfügt.Returns NULL on error or if a caller does not have permission to view the object.

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.A user can only view the metadata of securables that the user owns or on which the user has been granted permission. 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.This means that metadata-emitting, built-in functions such as OBJECT_DEFINITION may return NULL if the user does not have any permission on the object. Weitere Informationen finden Sie unter Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

RemarksRemarks

SQL Server-Datenbank-EngineSQL Server Database Engine setzt voraus, dass sich object_id im aktuellen Datenbankkontext befindet.The SQL Server-Datenbank-EngineSQL Server Database Engine assumes that object_id is in the current database context. Die Sortierung der Objektdefinition entspricht immer der des aufrufenden Datenbankkontexts.The collation of the object definition always matches that of the calling database context.

OBJECT_DEFINITION gilt für folgende Objekttypen:OBJECT_DEFINITION applies to the following object types:

  • C = CHECK-EinschränkungC = Check constraint

  • D = Standard (Einschränkung oder eigenständig)D = Default (constraint or stand-alone)

  • P = Gespeicherte SQL-ProzedurP = SQL stored procedure

  • FN = SQL-SkalarfunktionFN = SQL scalar function

  • R = RegelR = Rule

  • RF = ReplikationsfilterprozedurRF = Replication filter procedure

  • TR = SQL-Trigger (DML-Trigger mit Schemabereich oder DDL-Trigger entweder im Datenbank- oder Serverbereich)TR = SQL trigger (schema-scoped DML trigger, or DDL trigger at either the database or server scope)

  • IF = SQL-Inlinefunktion mit TabellenrückgabeIF = SQL inline table-valued function

  • TF = SQL-TabellenwertfunktionenTF = SQL table-valued function

  • V = SichtV = View

BerechtigungenPermissions

Definitionen von Systemobjekten sind öffentlich sichtbar.System object definitions are publicly visible. 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.The definition of user objects is visible to the object owner or grantees that have any one of the following permissions: ALTER, CONTROL, TAKE OWNERSHIP, or VIEW DEFINITION. Über diese Berechtigungen verfügen implizit Mitglieder der festen Datenbankrollen db_owner, db_ddladminund db_securityadmin .These permissions are implicitly held by members of the db_owner, db_ddladmin, and db_securityadmin fixed database roles.

BeispieleExamples

A.A. Zurückgeben des Quelltexts eines benutzerdefinierten ObjektsReturning the source text of a user-defined object

Im folgenden Beispiel wird die Definition des benutzerdefinierten Triggers uAddressim Person -Schema zurückgegeben.The following example returns the definition of a user-defined trigger, uAddress, in the Person schema. Die integrierte Funktion OBJECT_ID wird verwendet, um die Objekt-ID des Triggers der OBJECT_DEFINITION -Anweisung zurückzugeben.The built-in function OBJECT_ID is used to return the object ID of the trigger to the OBJECT_DEFINITION statement.

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

B.B. Zurückgeben des Quelltexts eines SystemobjektsReturning the source text of a system object

Im folgenden Beispiel wird die Definition der gespeicherten Systemprozedur sys.sp_columnszurückgegeben.The following example returns the definition of the system stored procedure sys.sp_columns.

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

Weitere InformationenSee Also

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