Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Zwraca Transact-SQL tekst źródłowy definicji określonego obiektu.
Transact-SQL konwencje składni
Składnia
OBJECT_DEFINITION ( object_id )
Arguments
object_id
Jest identyfikatorem użytego obiektu.
object_id jest int i zakłada się, że reprezentuje obiekt w aktualnym kontekście bazy danych.
Typy zwracane
nvarchar(max)
Exceptions
Zwraca wartość NULL w przypadku błędu lub jeśli obiekt wywołujący nie ma uprawnień do wyświetlania obiektu.
Użytkownik może wyświetlać tylko metadane zabezpieczanych, które użytkownik jest właścicielem lub którym użytkownik udzielił uprawnień. Oznacza to, że wbudowane funkcje emitujące metadane, takie jak OBJECT_DEFINITION, mogą zwracać NULL, jeśli użytkownik nie ma żadnych uprawnień do obiektu. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.
Uwagi
Silnik bazy danych SQL Server zakłada, że object_id znajduje się w aktualnym kontekście bazy danych. Zestawienie definicji obiektu zawsze pokrywa się z kontekstem wywołującej bazy danych.
OBJECT_DEFINITION dotyczy następujących typów obiektów:
C = Ograniczenie sprawdzanie
D = Domyślne (ograniczenie lub samodzielne)
P = procedura przechowywana SQL
FN = funkcja skalarna SQL
R = Reguła
RF = Procedura filtrowania replikacyjnego
TR = wyzwalacz SQL (wyzwalacz DML o skali schematu, lub DDL w skali bazy danych lub serwera)
IF = funkcja tabelowa SQL inline
TF = funkcja tabelowa SQL
V = Widok
Permissions
Definicje obiektów systemowych są publicznie widoczne. Definicja obiektów użytkownika jest widoczna dla właściciela obiektu lub nabywców uprawnień, którzy mają jedno z następujących uprawnień: ALTER, CONTROL, TAKE OWNERSHIP lub VIEW DEFINITION. Te uprawnienia są domyślnie przyznane członkom stałych ról bazy danych: db_owner, db_ddladminoraz db_securityadmin.
Przykłady
A. Zwracanie tekstu źródłowego obiektu zdefiniowanego przez użytkownika
Poniższy przykład zwraca definicję wyzwalacza zdefiniowanego przez użytkownika, uAddress, w schemiacie Person . Wbudowana funkcja OBJECT_ID służy do zwracania identyfikatora obiektu wyzwalacza do OBJECT_DEFINITION instrukcji.
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];
GO
B. Zwracanie tekstu źródłowego obiektu systemowego
Poniższy przykład zwraca definicję procedury przechowywanej sys.sp_columnsw systemie .
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
GO
Zobacz też
Funkcje metadanych (Transact-SQL)
OBJECT_NAME (Transact-SQL)
OBJECT_ID (Transact-SQL)
sp_helptext (Transact-SQL)
sys.sql_moduły (Transact-SQL)
sys.server_sql_modules (Transact-SQL)