OBJECT_DEFINITION (Transact-SQL)
Zwraca Transact-SQLtekstuźródło definicji określonego obiektu.
Składnia
OBJECT_DEFINITION ( object_id )
Argumenty
- object_id
Jest to identyfikator obiektu ma być używany.object_idjest inti przyjętej do reprezentowania obiektu w bieżącym kontekście bazy danych.
Zwracane typy
nvarchar(max)
Wyjątki
Zwraca wartość NULL w błąd lub jeśli wywołujący nie ma uprawnień do wyświetlenia obiektu.
Użytkownik może tylko przeglądać metadane securables, który użytkownik jest właścicielem lub dla którego użytkownik ma uprawnienia.Oznacza to, że metadane-wysyłających, funkcje wbudowane takie jak OBJECT_DEFINITION może zwracać wartość NULL, jeśli użytkownik nie ma żadnych uprawnień do obiektu.Aby uzyskać więcej informacji, zobacz Konfiguracja widoczność metadanych i Rozwiązywanie problemów z metadanych widoczności.
Uwagi
Aparat baz danych programu SQL Server Zakłada się, że object_id znajduje się w bieżącym kontekście bazy danych.sortowanie definicji obiektu zawsze zgodny z kontekstu wywołania bazy danych.
OBJECT_DEFINITION stosuje się do następujących typów obiektów:
C = ograniczenie typu Check
D = domyślnie (ograniczenie czy urzędem autonomicznym)
P =procedura składowana SQL
FN = SQL wartość skalarna funkcja
R = reguły
RF = procedurę filtrowania replikacji
TR = SQL wyzwalacza (o zakresie schematu DML wyzwalacza, lub DDL na bazy danych lub serwera zakres)
Jeżeli = SQL wbudowany tabela-wycenione funkcja
TF =tabela SQL-wycenione funkcja
V = widoku
Uprawnienia
Definicje obiektów systemu są publicznie widoczne.Definicja obiektów użytkownika jest widoczne dla właściciela obiektu lub stypendystów, które mają jeden z następujących uprawnień: ZMIEŃ FORMANTU, przejęcie na własność lub definicji WIDOKU.Uprawnienia te są niejawnie posiadanych przez członków db_owner, db_ddladmin, i db_securityadmin ról stałej bazy danych.
Przykłady
A.Zwracanie tekstu źródło obiektu użytkownika
Poniższy przykład zwraca definicji wyzwalacza zdefiniowane przez użytkownika, uAddress, Person schematu.Wbudowanych funkcja OBJECT_ID jest używane do zwracania identyfikator obiektu wyzwalacz do OBJECT_DEFINITION instrukcja.
USE AdventureWorks2008R2;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];
GO
B.Zwracanie tekstu źródło obiektu systemu
Poniższy przykład zwraca definicji systemu procedura składowana sys.sp_columns.
USE AdventureWorks2008R2;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
GO