Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Vrací Transact-SQL zdrojový text definice určeného objektu.
Syntaxe
OBJECT_DEFINITION ( object_id )
Arguments
object_id
je ID objektu, který má být použit.
object_id je int a předpokládá se, že v aktuálním databázovém kontextu představuje objekt.
Návratové typy
nvarchar(max)
Exceptions
Vrátí hodnotu NULL při chybě nebo pokud volající nemá oprávnění k zobrazení objektu.
Uživatel může zobrazit pouze metadata zabezpečitelných, která uživatel vlastní nebo na kterých má uživatel udělená oprávnění. To znamená, že vestavěné funkce vysílající metadata, jako je OBJECT_DEFINITION, mohou vrátit NULL, pokud uživatel nemá žádné oprávnění k objektu. Další informace naleznete v kapitole Konfigurace viditelnosti metadat.
Poznámky
SQL Server Database Engine předpokládá, že object_id je v aktuálním databázovém kontextu. Shoda definice objektu vždy odpovídá kontextu volané databáze.
OBJECT_DEFINITION platí pro následující typy objektů:
C = Kontrolní omezení
D = výchozí (omezení nebo samostatné)
P = SQL uložená procedura
FN = SQL skalární funkce
R = Pravidlo
RF = Postup replikačního filtru
TR = SQL trigger (schématově zaměřený DML trigger, nebo DDL trigger buď v databázovém nebo serverovém rozsahu)
IF = SQL inline tabulková funkce
TF = SQL tabulková funkce
V = Zobrazit
Povolení
Definice systémových objektů jsou veřejně viditelné. Definice uživatelských objektů je viditelná pro vlastníka objektu nebo uživatelé, kterým byla udělena práva, kteří mají některé z následujících oprávnění: ALTER, CONTROL, TAKE OWNERSHIP nebo VIEW DEFINITION. Tato oprávnění implicitně uchovávají členové db_owner, db_ddladmina db_securityadmin pevné databázové role.
Examples
A. Vrácení zdrojového textu uživatelsky definovaného objektu
Následující příklad vrací definici uživatelem definovaného spouštěče, uAddress, ve schématu Person . Vestavěná funkce OBJECT_ID se používá k vrácení ID objektu spouštěče do OBJECT_DEFINITION příkazu.
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];
GO
B. Vrácení zdrojového textu systémového objektu
Následující příklad vrací definici systémově uložené procedury sys.sp_columns.
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
GO
Viz také
Funkce metadat (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)