sp_tables (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric

Retourne une liste d'objets qui peuvent être interrogés dans l'environnement actuel. Cela signifie toute table ou vue, à l'exception des objets synonymes.

Notes

Pour déterminer le nom de l’objet de base d’un synonyme, interrogez l’affichage catalogue sys.synonyms.

Conventions de la syntaxe Transact-SQL

Syntaxe

Syntaxe pour SQL Server, Azure SQL Database, Azure Synapse Analytics, Parallel Data Warehouse :

sp_tables
    [ [ @table_name = ] N'table_name' ]
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @table_type = ] 'table_type' ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

Arguments

[ @table_name = ] N’table_name'

Table utilisée pour retourner des informations de catalogue. @table_name est nvarchar(384), avec la valeur par défaut NULL. La recherche de correspondance avec des caractères génériques est prise en charge.

[ @table_owner = ] N’table_owner'

Propriétaire de la table utilisée pour retourner les informations du catalogue. @table_owner est nvarchar(384), avec la valeur par défaut NULL. La recherche de correspondance avec des caractères génériques est prise en charge. Si le propriétaire n’est pas spécifié, les règles de visibilité de table par défaut du SGBD sous-jacent s’appliquent.

Dans SQL Server, si l’utilisateur actuel est propriétaire d’une table portant le nom spécifié, les colonnes de cette table sont renvoyées. Si le propriétaire n’est pas spécifié et que l’utilisateur actuel ne possède pas de table portant le nom spécifié, cette procédure recherche une table portant le nom spécifié appartenant au propriétaire de la base de données. Si la recherche de la table aboutit, ce sont les colonnes de cette dernière qui sont retournées.

[ @table_qualifier = ] N’table_qualifier'

Nom du qualificateur de table. @table_qualifier est sysname, avec la valeur par défaut NULL. Différents produits SGBD prennent en charge le nommage en trois parties pour les tables (<qualifier>.<owner>.<name>). Dans SQL Server, cette colonne représente le nom de la base de données. Dans d'autres produits, elle représente le nom du serveur de l'environnement de base de données de la table.

[ @table_type = ] 'table_type'

Liste de valeurs, séparées par des virgules, qui fournissent des informations sur toutes les tables des types de tables spécifiés. Il s’agit notamment de TABLE , SYSTEMTABLE et VIEW . @table_type est varchar(100), avec la valeur par défaut NULL.

Chaque type de table doit être encadré de guillemets simples, l'ensemble du paramètre devant être encadré de guillemets doubles. Les types de table sont en lettres majuscules. Si SET QUOTED_IDENTIFIER c’est ONle cas, chaque guillemet unique doit être doublé et le paramètre entier doit être placé entre guillemets simples.

[ @fUsePattern = ] fUsePattern

Détermine si les caractères de soulignement (_), de pourcentage (%) et de crochet ([ou]) sont interprétés comme des caractères génériques carte. Les valeurs valides sont 0 (la mise en correspondance des modèles est désactivée) et 1 (la mise en correspondance des modèles est activée). @fUsePattern est bit, avec la valeur par défaut 1.

Valeurs des codes de retour

Aucune.

Jeu de résultats

Nom de la colonne Type de données Description
TABLE_QUALIFIER sysname Nom du qualificateur de la table. Dans SQL Server, cette colonne représente le nom de la base de données. Ce champ peut être NULL.
TABLE_OWNER sysname Nom du propriétaire de la table. Dans SQL Server, cette colonne représente le nom de l’utilisateur de la base de données qui a créé la table. Ce champ retourne toujours une valeur.
TABLE_NAME sysname Nom de la table. Ce champ retourne toujours une valeur.
TABLE_TYPE varchar(32) Table, table système ou vue.
REMARKS varchar(254) SQL Server ne retourne pas de valeur pour cette colonne.

Notes

Pour assurer une interopérabilité maximale, le client de la passerelle ne doit utiliser que les critères spéciaux SQL standard de SQL-92 (caractères génériques % et _).

Les informations privilégiées sur l’accès en lecture ou en écriture de l’utilisateur actuel à une table spécifique ne sont pas toujours case activée. Par conséquent, l’accès n’est pas garanti. Ce jeu de résultats ne comprend pas uniquement des tables et des vues, mais également des synonymes et des noms d'alias, dans le cas des passerelles vers les SGBD qui gèrent ces types. Si l’attribut ACCESSIBLE_TABLES serveur est Y dans le jeu de résultats pour sp_server_info, seules les tables accessibles par l’utilisateur actuel sont retournées.

sp_tables équivaut à SQLTables ODBC. Les résultats retournés sont classés par TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNERet TABLE_NAME.

Autorisations

La visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu’un utilisateur possède ou sur lesquels l’utilisateur a reçu une autorisation. Pour plus d'informations, consultez Metadata Visibility Configuration.

Exemples

R. Renvoyer une liste d’objets pouvant être interrogés dans l’environnement actuel

L’exemple suivant renvoie une liste d’objets pouvant être sollicités dans l’environnement actuel.

EXEC sp_tables;

B. Retourner des informations sur les tables dans un schéma spécifié

L’exemple suivant retourne des informations sur les tables appartenant au schéma Person de la base de données AdventureWorks2022.

USE AdventureWorks2022;
GO
EXEC sp_tables
   @table_name = '%',
   @table_owner = 'Person',
   @table_qualifier = 'AdventureWorks2022';

Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)

C. Renvoyer une liste d’objets pouvant être interrogés dans l’environnement actuel

L’exemple suivant renvoie une liste d’objets pouvant être sollicités dans l’environnement actuel.

EXEC sp_tables;

D. Retourner des informations sur les tables dans un schéma spécifié

L’exemple suivant renvoie des informations sur les tables de dimension dans la base de données AdventureWorksPDW2012.

-- Uses AdventureWorks

EXEC sp_tables
   @table_name = 'Dim%',
   @table_owner = 'dbo',
   @table_qualifier = 'AdventureWorksPDW2012';