sp_tables (Transact-SQL)
Restituisce un elenco di oggetti su cui è possibile eseguire query nell'ambiente corrente, ovvero qualsiasi oggetto che può essere incluso in una clausola FROM, ad eccezione degli oggetti sinonimi.
[!NOTA]
Per determinare il nome dell'oggetto di base di un sinonimo, è sufficiente eseguire una query nella vista del catalogo sys.synonyms.
Sintassi
sp_tables [ [ @table_name = ] 'name' ]
[ , [ @table_owner = ] 'owner' ]
[ , [ @table_qualifier = ] 'qualifier' ]
[ , [ @table_type = ] "type" ]
[ , [@fUsePattern = ] 'fUsePattern'];
Argomenti
[ @table_name= ] 'name'
Tabella utilizzata per ottenere informazioni di catalogo. name è di tipo nvarchar(384) e il valore predefinito è NULL. Le ricerche con caratteri jolly sono supportate.[ @table_owner= ] 'owner'
Proprietario della tabella utilizzata per ottenere le informazioni di catalogo. owner è di tipo nvarchar(384) e il valore predefinito è NULL. Le ricerche con caratteri jolly sono supportate. Se owner viene omesso, vengono applicate le regole di visibilità della tabella predefinite nel sistema DBMS sottostante.In SQL Server se l'utente corrente è il proprietario di una tabella avente il nome specificato, vengono restituite le colonne di tale tabella. Se owner viene omesso e l'utente corrente non è il proprietario di una tabella avente il nome specificato, viene eseguita la ricerca di una tabella avente il nome specificato e il cui proprietario corrisponde al proprietario del database. Se viene individuata, vengono restituite le colonne di tale tabella.
[ @table_qualifier= ] 'qualifier'
Nome del qualificatore di tabella. qualifier è di tipo sysname e il valore predefinito è NULL. Vari prodotti DBMS supportano nomi in tre parti per le tabelle, ad esempio qualifier**.owner.**name. In SQL Server questa colonna rappresenta il nome del database. In altri prodotti rappresenta il nome del server dell'ambiente di database della tabella.[ , [ @table_type= ] "'type', 'type'" ]
Elenco di valori separati da virgola che fornisce informazioni su tutte le tabelle dei tipi specificati. I tipi validi includono TABLE, SYSTEMTABLE e VIEW. type è di tipo varchar(100) e il valore predefinito è NULL.[!NOTA]
È necessario racchiudere ogni tipo di tabella tra virgolette singole e l'intero parametro tra virgolette doppie. I tipi di tabella devono essere specificati in maiuscolo. Se l'opzione SET QUOTED_IDENTIFIER è impostata su ON, è necessario sostituire le virgolette singole con quelle doppie e racchiudere l'intero parametro tra virgolette singole.
[ @fUsePattern = ] 'fUsePattern'
Determina se il carattere di sottolineatura ( _ ), il simbolo di percentuale ( % ) e le parentesi quadre ( [ o ] ) vengono interpretate come caratteri jolly. I valori validi sono 0 (utilizzo dei criteri di ricerca disattivato) e 1 (utilizzo dei criteri di ricerca attivato). fUsePattern è di tipo bit e il valore predefinito è 1.
Valori restituiti
Nessuno
Set di risultati
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
TABLE_QUALIFIER |
sysname |
Nome del qualificatore della tabella. In SQL Server questa colonna rappresenta il nome del database. Questo campo può essere NULL. |
TABLE_OWNER |
sysname |
Nome del proprietario della tabella. In SQL Server questa colonna rappresenta il nome dell'utente di database che ha creato la tabella. In questo campo viene sempre restituito un valore. |
TABLE_NAME |
sysname |
Nome della tabella. In questo campo viene sempre restituito un valore. |
TABLE_TYPE |
varchar(32) |
Tabella, tabella di sistema o vista. |
REMARKS |
varchar(254) |
In SQL Server non viene restituito alcun valore per questa colonna. |
Osservazioni
Per ottenere la massima interoperabilità, è consigliabile che nel client del gateway siano utilizzati solo i caratteri jolly standard SQL-92, ovvero i caratteri % e _.
Le informazioni sui privilegi relativi all'accesso in lettura o scrittura dell'utente corrente per una tabella specifica non vengono necessariamente verificate e di conseguenza l'accesso non è garantito. Questo set di risultati include non solo tabelle e viste, ma anche sinonimi e alias di gateway dei prodotti DBMS che supportano questi tipi. Se nel set di risultati di sp_server_info l'attributo del server ACCESSIBLE_TABLES è uguale a Y, vengono restituite solo le tabelle accessibili dall'utente corrente.
La stored procedure sp_tables corrisponde a SQLTables in ODBC. I risultati restituiti vengono ordinati in base a TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER e TABLE_NAME.
Autorizzazioni
È richiesta l'autorizzazione SELECT per lo schema.
Esempi
A. Restituzione di un elenco di oggetti su cui è possibile eseguire query nell'ambiente corrente
Nell'esempio seguente viene restituito un elenco di oggetti su cui è possibile eseguire query nell'ambiente corrente.
EXEC sp_tables ;
B. Restituzione di informazioni sulle tabelle nel database AdventureWorks
Nell'esempio seguente vengono restituite informazioni sulle tabelle appartenenti allo schema Person nel database AdventureWorks.
USE AdventureWorks;
GO
EXEC sp_tables
@table_name = '%',
@table_owner = 'Person',
@table_qualifier = 'AdventureWorks';