Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar den Transact-SQL källtexten till definitionen av ett specificerat objekt.
Transact-SQL syntaxkonventioner
Syntax
OBJECT_DEFINITION ( object_id )
Arguments
object_id
Är ID:t för objektet som ska användas.
object_id är int, och antas representera ett objekt i den aktuella databaskontexten.
Returtyper
nvarchar(max)
Exceptions
Returnerar NULL vid fel eller om en anropare inte har behörighet att visa objektet.
En användare kan bara visa metadata för skyddsbara filer som användaren äger eller som användaren har beviljats behörighet för. Detta innebär att inbyggda funktioner som OBJECT_DEFINITION metadata kan returnera NULL om användaren inte har någon behörighet på objektet. För mer information, se inställningar för metadatasynlighet.
Anmärkningar
SQL Server Database Engine antar att object_id befinner sig i den aktuella databaskontexten. Sammansättningen av objektdefinitionen matchar alltid den för den anropande databasens kontext.
OBJECT_DEFINITION gäller följande objekttyper:
C = Kontrollbegränsning
D = Standard (begränsning eller fristående)
P = SQL stored procedure
FN = SQL-skalärfunktion
R = Regel
RF = Replikationsfilterprocedur
TR = SQL-trigger (schema-scoped DML-trigger, eller DDL-trigger antingen i databasen eller serveromfånget)
IF = SQL inline tabellvärdesfunktion
TF = SQL-tabellvärd funktion
V = Vy
Permissions
Systemobjektdefinitioner är offentligt synliga. Definitionen av användarobjekt är synlig för objektägaren eller beviljare som har någon av följande behörigheter: ALTER, CONTROL, TAKE OWNERSHIP eller VIEW DEFINITION. Dessa behörigheter innehas implicit av medlemmar i db_owner, db_ddladminoch db_securityadmin fasta databasroller.
Examples
A. Returnera källtexten till ett användardefinierat objekt
Följande exempel returnerar definitionen av en användardefinierad trigger, uAddress, i schemat Person . Den inbyggda funktionen OBJECT_ID används för att returnera objekt-ID:t för triggern till satsen OBJECT_DEFINITION .
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];
GO
B. Returnera källtexten till ett systemobjekt
Följande exempel återger definitionen av systemlagrad procedur sys.sp_columns.
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
GO
Se även
Metadata functions (Transact-SQL)
OBJECT_NAME (Transact-SQL)
OBJECT_ID (Transact-SQL)
sp_helptext (Transact-SQL)
sys.sql_moduler (Transact-SQL)
sys.server_sql_modules (Transact-SQL)