Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
A megadott objektum definíciójának Transact-SQL forrásszövegét adja vissza.
Transact-SQL szintaxis konvenciók
Szemantika
OBJECT_DEFINITION ( object_id )
Arguments
object_id
A használt tárgy azonosítója.
object_idint, és feltételezhetően egy objektumot képvisel a jelenlegi adatbázis kontextusában.
Visszatérési típusok
nvarchar(max)
Exceptions
Null értéket ad vissza hiba esetén, vagy ha a hívó nem rendelkezik engedéllyel az objektum megtekintéséhez.
A felhasználó csak azoknak a biztonságos adatoknak a metaadatait tekintheti meg, amelyek a felhasználó tulajdonában vannak, vagy amelyekhez a felhasználó engedélyt kapott. Ez azt jelenti, hogy metaadatot kibocsátó, beépített funkciók, mint az OBJECT_DEFINITION, visszaadhatják a NULL-t, ha a felhasználónak nincs engedélye az objektumra. További információ: Metaadatok láthatóságának konfigurációja.
Megjegyzések
Az SQL Server adatbázis motor feltételezi, hogy object_id a jelenlegi adatbázis kontextusban van. Az objektum definíciójának összeállítása mindig megegyezik a hívó adatbázis kontextusával.
OBJECT_DEFINITION a következő objektumtípusokra vonatkozik:
C = Ellenőrzési korlátozás
D = Alapértelmezett (korlát vagy önálló)
P = SQL tárolt eljárás
FN = SQL skalárfüggvény
R = Szabály
RF = Replikációs szűrőeljárás
TR = SQL trigger (séma-scoped DML trigger, vagy DDL trigger adatbázisban vagy szerver hatókörben)
IF = SQL sorbeli táblázatértékű függvény
TF = SQL táblázatértékű függvény
V = Nézet
Permissions
A rendszerobjektum definíciók nyilvánosan láthatóak. A felhasználói objektumok definíciója látható az objektum tulajdonosa vagy azok számára, akik rendelkeznek a következő engedélyek bármelyikével: ALTER, CONTROL, TAKE OWNERSHIP vagy VIEW DEFINITION. Ezeket az engedélyeket implicit módon a db_owner, db_ddladminés db_securityadmin rögzített adatbázis-szerepkörök tagjai birtokolják.
Példák
A. Felhasználó által definiált objektum forrásszövegének visszaállítása
Az alábbi példa adja vissza a sémában található felhasználó által definiált trigger definícióját, uAddress, Person . A beépített funkciót OBJECT_ID arra használják, hogy visszaadja a trigger objektumazonosítóját az utasításba OBJECT_DEFINITION .
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];
GO
B. A rendszerobjektum forrásszövegének visszaküldése
A következő példa adja vissza a rendszer tárolt eljárásának sys.sp_columnsdefinícióját .
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
GO
Lásd még:
Metaadatfüggvények (Transact-SQL)
OBJECT_NAME (Transact-SQL)
OBJECT_ID (Transact-SQL)
sp_helptext (Transact-SQL)
sys.sql_modulok (Transact-SQL)
sys.server_sql_modules (Transact-SQL)