sp_tables (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW) Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric
Viene restituito un elenco di oggetti su cui è possibile eseguire una query nell'ambiente corrente, ovvero qualsiasi tabella o vista eccetto gli oggetti sinonimo.
Nota
Per determinare il nome dell'oggetto di base di un sinonimo, eseguire una query sulla vista del catalogo sys.synonyms .
Convenzioni relative alla sintassi Transact-SQL
Sintassi
Sintassi per SQL Server, database SQL di Azure, Azure Synapse Analitica, Analitica Platform System (PDW):
sp_tables
[ [ @table_name = ] N'table_name' ]
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @table_type = ] 'table_type' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
Argomenti
[ @table_name = ] N'table_name'
Tabella utilizzata per restituire informazioni sul catalogo. @table_name è nvarchar(384), con un valore predefinito .NULL
La ricerca con caratteri jolly è supportata.
[ @table_owner = ] N'table_owner'
Proprietario della tabella utilizzata per restituire informazioni sul catalogo. @table_owner è nvarchar(384), con il valore predefinito NULL
. La ricerca con caratteri jolly è supportata. Se il proprietario non è specificato, si applicano le regole di visibilità della tabella predefinite del sistema DBMS sottostante.
In SQL Server, se l'utente corrente è proprietario di una tabella con il nome specificato, vengono restituite le colonne della tabella. Se il proprietario non è specificato e l'utente corrente non è proprietario di una tabella con il nome specificato, questa procedura cerca una tabella con il nome specificato di proprietà del proprietario del database. Se viene individuata, vengono restituite le colonne di tale tabella.
[ @table_qualifier = ] N'table_qualifier'
Nome del qualificatore di tabella. @table_qualifier è sysname, con un valore predefinito .NULL
Vari prodotti DBMS supportano la denominazione in tre parti per le tabelle (<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 = ] 'table_type'
Elenco di valori, separati da virgole, che fornisce informazioni su tutte le tabelle dei tipi di tabella specificati. Questi includono TABLE
, SYSTEMTABLE
e VIEW
. @table_type è varchar(100), con il valore predefinito NULL
.
È 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 SET QUOTED_IDENTIFIER
è ON
, ogni virgoletta singola deve essere doppia e l'intero parametro deve essere racchiuso tra virgolette singole.
[ @fUsePattern = ] fUsePattern
Determina se i caratteri di sottolineatura (_
), percent (%
) e parentesi quadre ([
o ]
) vengono interpretati come caratteri jolly. I valori validi sono 0
(la corrispondenza dei criteri è disattivata) e 1
(la corrispondenza dei criteri è attivata). @fUsePattern è bit, con un valore predefinito .1
Valori del codice restituito
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 del database che ha creato la tabella. Questo campo restituisce sempre un valore. |
TABLE_NAME |
sysname | Nome tabella. Questo campo restituisce sempre un valore. |
TABLE_TYPE |
varchar(32) | Tabella, tabella di sistema o vista. |
REMARKS |
varchar(254) | SQL Server non restituisce un 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 a una tabella specifica non vengono sempre controllate. Pertanto, 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 l'attributo ACCESSIBLE_TABLES
server è Y nel set di risultati per sp_server_info
, vengono restituite solo le tabelle a cui è possibile accedere dall'utente corrente.
sp_tables
equivale a SQLTables
in ODBC. I risultati restituiti vengono ordinati in TABLE_TYPE
base a , TABLE_QUALIFIER
TABLE_OWNER
, e TABLE_NAME
.
Autorizzazioni
La visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per le quali dispone di autorizzazioni. Per altre informazioni, vedere Metadata Visibility Configuration.
Esempi
R. Restituisce 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 una query nell'ambiente corrente.
EXEC sp_tables;
B. Restituisce informazioni sulle tabelle in uno schema specificato
Nell'esempio seguente vengono restituite informazioni sulle tabelle che appartengono allo Person
schema nel database AdventureWorks2022.
USE AdventureWorks2022;
GO
EXEC sp_tables
@table_name = '%',
@table_owner = 'Person',
@table_qualifier = 'AdventureWorks2022';
Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)
C. Restituisce 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 una query nell'ambiente corrente.
EXEC sp_tables;
D. Restituisce informazioni sulle tabelle in uno schema specificato
Nell'esempio seguente vengono restituite informazioni sulle tabelle delle dimensioni nel AdventureWorksPDW2012
database.
-- Uses AdventureWorks
EXEC sp_tables
@table_name = 'Dim%',
@table_owner = 'dbo',
@table_qualifier = 'AdventureWorksPDW2012';