Condividi tramite


sp_tables (Transact-SQL)

Data aggiornamento: 12 dicembre 2006

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.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

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'" ]
    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.

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.

Valori restituiti

Nessuno

Esempi

A. Restituzione di un elenco di oggetti su cui è possibile eseguire query nell'ambiente corrente

Per restituire un elenco di oggetti su cui è possibile eseguire query nell'ambiente corrente, eseguire la stored procedure seguente.

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';

Vedere anche

Riferimento

Stored procedure di catalogo (Transact-SQL)
Stored procedure di sistema (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

12 dicembre 2006

Nuovo contenuto:
  • Aggiunta di un chiarmento per spiegare che sp_tables non restituisce informazioni sugli oggetti sinonimi.