sp_tables (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in 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, Analytics 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 ]
[ ; ]
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 ON
le 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. 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 de privilège sur l’accès en lecture ou en écriture de l’utilisateur actuel à une table spécifique ne sont pas toujours vérifiées. 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_OWNER
et TABLE_NAME
.
autorisations
La visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. 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';