ROUTINES (Transact-SQL)
Restituisce una riga per ogni stored procedure e funzione accessibile dall'utente corrente nel database corrente. Le colonne in cui viene descritto il valore restituito sono valide solo per le funzioni. Per le stored procedure in queste colonne viene restituito NULL.
Per recuperare informazioni da queste viste, specificare il nome completo di INFORMATION_SCHEMA.view_name.
[!NOTA]
La colonna ROUTINE_DEFINITION include le istruzioni di origine con cui è stata creata la funzione o la stored procedure. È probabile che queste istruzioni contengano ritorni a capo incorporati. Se questa colonna viene restituita a un'applicazione che visualizza i risultati in un formato testo, i ritorni a capo incorporati nei risultati di ROUTINE_DEFINITION possono influire sulla formattazione del set di risultati. Se si seleziona la colonna ROUTINE_DEFINITION, apportare le modifiche necessarie per i ritorni a capo incorporati, ad esempio restituendo il set di risultati in una griglia oppure restituendo ROUTINE_DEFINITION in una casella di testo specifica.
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
SPECIFIC_CATALOG |
nvarchar(128) |
Nome specifico del catalogo. Questo nome corrisponde a ROUTINE_CATALOG. |
SPECIFIC_SCHEMA |
nvarchar(128) |
Nome specifico dello schema.
Importante
Non utilizzare viste INFORMATION_SCHEMA per determinare lo schema di un oggetto. L'unica modalità affidabile per cercare lo schema di un oggetto consiste nell'eseguire una query sulla vista del catalogo sys.objects o sulla funzione OBJECT_SCHEMA_NAME.
|
SPECIFIC_NAME |
nvarchar(128) |
Nome specifico del catalogo. Questo nome corrisponde a ROUTINE_NAME. |
ROUTINE_CATALOG |
nvarchar(128) |
Nome del catalogo della funzione. |
ROUTINE_SCHEMA |
nvarchar(128) |
Nome dello schema che contiene la funzione.
Importante
Non utilizzare viste INFORMATION_SCHEMA per determinare lo schema di un oggetto. L'unica modalità affidabile per cercare lo schema di un oggetto consiste nell'eseguire una query sulla vista del catalogo sys.objects o sulla funzione OBJECT_SCHEMA_NAME.
|
ROUTINE_NAME |
nvarchar(128) |
Nome della funzione. |
ROUTINE_TYPE |
nvarchar(20) |
Restituisce PROCEDURE per le stored procedure e FUNCTION per le funzioni. |
MODULE_CATALOG |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
MODULE_SCHEMA |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
MODULE_NAME |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
UDT_CATALOG |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
UDT_SCHEMA |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
UDT_NAME |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
DATA_TYPE |
nvarchar(128) |
Tipo di dati del valore restituito dalla funzione. Per le funzioni con valori di tabella viene restituito table. |
CHARACTER_MAXIMUM_LENGTH |
int |
Lunghezza massima, espressa in caratteri, se viene restituito un tipo di dati character. -1 per i dati di tipo xml e di tipi per valori di grandi dimensioni. |
CHARACTER_OCTET_LENGTH |
int |
Lunghezza massima, espressa in byte, se viene restituito un tipo di dati character. -1 per i dati di tipo xml e di tipi per valori di grandi dimensioni. |
COLLATION_CATALOG |
nvarchar(128) |
Restituisce sempre NULL. |
COLLATION_SCHEMA |
nvarchar(128) |
Restituisce sempre NULL. |
COLLATION_NAME |
nvarchar(128) |
Nome delle regole di confronto del valore restituito. Per i tipi di dati diversi da character viene restituito NULL. |
CHARACTER_SET_CATALOG |
nvarchar(128) |
Restituisce sempre NULL. |
CHARACTER_SET_SCHEMA |
nvarchar(128) |
Restituisce sempre NULL. |
CHARACTER_SET_NAME |
nvarchar(128) |
Nome del set di caratteri del valore restituito. Per i tipi di dati diversi da character viene restituito NULL. |
NUMERIC_PRECISION |
smallint |
Precisione numerica del valore restituito. Per i tipi di dati non numerici viene restituito NULL. |
NUMERIC_PRECISION_RADIX |
smallint |
Radice di precisione numerica del valore restituito. Per i tipi di dati non numerici viene restituito NULL. |
NUMERIC_SCALE |
smallint |
Scala del valore restituito. Per i tipi di dati non numerici viene restituito NULL. |
DATETIME_PRECISION |
smallint |
Precisione frazionaria del secondo se il valore restituito è di tipo datetime. In caso contrario restituisce NULL. |
INTERVAL_TYPE |
nvarchar(30) |
NULL. Riservato per utilizzi futuri. |
INTERVAL_PRECISION |
smallint |
NULL. Riservato per utilizzi futuri. |
TYPE_UDT_CATALOG |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
TYPE_UDT_SCHEMA |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
TYPE_UDT_NAME |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
SCOPE_CATALOG |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
SCOPE_SCHEMA |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
SCOPE_NAME |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
MAXIMUM_CARDINALITY |
bigint |
NULL. Riservato per utilizzi futuri. |
DTD_IDENTIFIER |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
ROUTINE_BODY |
nvarchar(30) |
Restituisce SQL per le funzioni Transact-SQL ed EXTERNAL per le funzioni scritte esternamente. Le funzioni sono sempre di tipo SQL. |
ROUTINE_DEFINITION |
nvarchar(4000) |
Restituisce i primi 4000 caratteri del testo di definizione della funzione o della stored procedure se la funzione o la stored procedure non è crittografata. In caso contrario restituisce NULL. Per essere certi di ottenere la definizione completa, eseguire una query sulla funzione OBJECT_DEFINITION o sulla colonna di definizione nella vista del catalogo sys.sql_modules. |
EXTERNAL_NAME |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
EXTERNAL_LANGUAGE |
nvarchar(30) |
NULL. Riservato per utilizzi futuri. |
PARAMETER_STYLE |
nvarchar(30) |
NULL. Riservato per utilizzi futuri. |
IS_DETERMINISTIC |
nvarchar(10) |
Restituisce YES se la routine è deterministica. Restituisce NO se la routine non è deterministica. Restituisce sempre NO per le stored procedure. |
SQL_DATA_ACCESS |
nvarchar(30) |
Restituisce uno dei valori seguenti: NONE = La funzione non contiene SQL. CONTAINS = È possibile che la funzione contenga SQL READS = È possibile che la funzione legga dati SQL. MODIFIES = È possibile che la funzione modifichi dati SQL. Restituisce READS per tutte le funzioni e MODIFIES per tutte le stored procedure. |
IS_NULL_CALL |
nvarchar(10) |
Specifica se la routine deve essere chiamata quando uno degli argomenti è NULL. |
SQL_PATH |
nvarchar(128) |
NULL. Riservato per utilizzi futuri. |
SCHEMA_LEVEL_ROUTINE |
nvarchar(10) |
Restituisce YES per le funzioni valutate a livello di schema e NO negli altri casi. Restituisce sempre YES. |
MAX_DYNAMIC_RESULT_SETS |
smallint |
Numero massimo di set di risultati dinamici restituiti dalla routine. Restituisce 0 per le funzioni. |
IS_USER_DEFINED_CAST |
nvarchar(10) |
Restituisce YES per le funzioni cast definite dall'utente e NO negli altri casi. Restituisce sempre NO. |
IS_IMPLICITLY_INVOCABLE |
nvarchar(10) |
Restituisce YES se è possibile richiamare in modo implicito la routine e NO se non è possibile richiamare in modo implicito la funzione. Restituisce sempre NO. |
CREATED |
datetime |
Ora di creazione della routine. |
LAST_ALTERED |
datetime |
L'ultima volta che è stata modificata la funzione. |
Esempi
Nell'esempio seguente vengono restituite informazioni su ogni stored procedure o funzione definita dall'utente del database.
USE AdventureWorks;
GO
SELECT ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE,
ROUTINE_DEFINITION AS [First 4000 characters], CREATED, LAST_ALTERED
FROM INFORMATION_SCHEMA.ROUTINES
ORDER BY ROUTINE_TYPE;
Vedere anche