OBJECT_DEFINITION (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure
Restituisce il testo di origine Transact-SQL della definizione di un oggetto specificato.
Convenzioni relative alla sintassi Transact-SQL
OBJECT_DEFINITION ( object_id )
object_id
ID dell'oggetto da utilizzare. object_id è di tipo int e rappresenta un oggetto nel contesto del database corrente.
nvarchar(max)
Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione necessaria per visualizzare l'oggetto.
Un utente può visualizzare esclusivamente i metadati delle entità a sicurezza diretta di cui è proprietario o per cui ha ricevuto un'autorizzazione. Di conseguenza, le funzioni predefinite di creazione dei metadati come OBJECT_DEFINITION possono restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per altre informazioni, vedere Metadata Visibility Configuration.
Il motore di database di SQL Server presuppone che il valore object_id sia specificato nel contesto di database corrente. Le regole di confronto della definizione dell'oggetto corrispondono sempre alle regole di confronto del contesto del database chiamante.
OBJECT_DEFINITION è applicabile ai tipi di oggetti seguenti:
C = vincolo CHECK
D = DEFAULT (vincolo o valore autonomo)
P = stored procedure SQL
FN = funzione scalare SQL
R = regola
RF = procedura di filtro della replica
TR = trigger SQL (trigger DML con ambito schema, o trigger DDL con ambito database o server)
IF = funzione SQL inline valutata a livello di tabella
TF = funzione SQL con valori di tabella
V = vista
Le definizioni degli oggetti di sistema sono visibili pubblicamente. La definizione degli oggetti utente è visibile al proprietario degli oggetti o agli utenti autorizzati che hanno una delle autorizzazioni seguenti: ALTER, CONTROL, TAKE OWNERSHIP o VIEW DEFINITION. Queste autorizzazioni sono assegnate implicitamente ai membri dei ruoli predefiniti del database db_owner, db_ddladmine db_securityadmin .
Nell'esempio seguente viene restituita la definizione di un trigger definito dall'utente, uAddress
, nello schema Person
. La funzione predefinita OBJECT_ID
viene utilizzata per restituire l'ID dell'oggetto del trigger all'istruzione OBJECT_DEFINITION
.
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];
GO
Nell'esempio seguente viene restituita la definizione della stored procedure di sistema sys.sp_columns
.
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
GO
Funzioni per i metadati (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)