OBJECT_DEFINITION (Transact-SQL)
Data aggiornamento: 17 luglio 2006
Restituisce il testo di origine Transact-SQL della definizione di un oggetto specificato.
Convenzioni della sintassi Transact-SQL
Sintassi
OBJECT_DEFINITION ( object_id )
Argomenti
- object_id
ID dell'oggetto da utilizzare. object_id è di tipo int e rappresenta un oggetto nel contesto del database corrente.
Tipi restituiti
nvarchar(max)
Eccezioni
Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione necessaria per visualizzare l'oggetto.
In SQL Server 2005 un utente può visualizzare esclusivamente i metadati delle entità a protezione 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 ulteriori informazioni, vedere Configurazione della visibilità dei metadati e Risoluzione dei problemi relativi alla visibilità dei metadati.
Osservazioni
In Motore di database di SQL Server si presuppone che object_id sia contenuto nel contesto del 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 inline SQL valutata a livello di tabella
- TF = funzione SQL valutata a livello di tabella
- V = vista
Autorizzazioni
Le definizioni degli oggetti di sistema sono visibili pubblicamente. La definizione degli oggetti di sistema è visibile al proprietario degli oggetti o agli utenti autorizzati che dispongono di 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_ddladmin e db_securityadmin.
Esempi
A. Restituzione del testo di origine di un oggetto definito dall'utente
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 AdventureWorks;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];
GO
B. Restituzione del testo di origine di un oggetto di sistema
Nell'esempio seguente viene restituita la definizione della stored procedure di sistema sys.sp_columns
.
USE AdventureWorks;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
GO
Vedere anche
Riferimento
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
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
17 luglio 2006 |
|