Partager via


SQLTables

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Les sqlTables peuvent être exécutés sur un curseur de serveur statique. Une tentative d’exécution de SQLTables sur un curseur pouvant être mis à jour (dynamique ou jeu de clés) retourne SQL_SUCCESS_WITH_INFO indiquant que le type de curseur a été modifié.

SQLTables signale des tables de toutes les bases de données lorsque le paramètre CatalogName est SQL_ALL_CATALOGS et que tous les autres paramètres contiennent des valeurs par défaut (pointeurs NULL).

Pour signaler des catalogues, des schémas et des types de tables disponibles, SQLTables utilise particulièrement les chaînes vides (pointeurs d’octets de longueur nulle). Les chaînes vides ne sont pas des valeurs par défaut (pointeurs NULL).

Le pilote ODBC SQL Server Native Client prend en charge les informations de création de rapports pour les tables sur des serveurs liés en acceptant un nom en deux parties pour le paramètre CatalogName : Linked_Server_Name.Catalog_Name.

SQLTables retourne des informations sur les tables dont les noms correspondent à TableName et appartiennent à l’utilisateur actuel.

SQLTables et paramètres table

Lorsque l’attribut d’instruction SQL_SOPT_SS_NAME_SCOPE a la valeur SQL_SS_NAME_SCOPE_TABLE_TYPE, plutôt que sa valeur par défaut de SQL_SS_NAME_SCOPE_TABLE, SQLTables retourne des informations sur les types de tables. La valeur TABLE_TYPE retournée pour un type de table dans la colonne 4 du jeu de résultats retourné par SQLTables est TABLE TYPE. Pour plus d'informations sur SQL_SOPT_SS_NAME_SCOPE, consultez SQLSetStmtAttr.

Les tables, les vues et les synonymes partagent un espace de noms commun, distinct de l'espace de noms utilisé par les types de table. Bien qu'il ne soit pas possible d'avoir une table et une vue ayant le même nom, vous pouvez avoir une table et un type de table avec le même nom dans le même catalogue et le même schéma.

Pour plus d’informations sur les paramètres table, consultez Paramètres table (ODBC) .

Exemple

// Get a list of all tables in the current database.  
SQLTables(hstmt, NULL, 0, NULL, 0, NULL, 0, NULL,0);  
  
// Get a list of all tables in all databases.  
SQLTables(hstmt, (SQLCHAR*) "%", SQL_NTS, NULL, 0, NULL, 0, NULL,0);  
  
// Get a list of databases on the current connection's server.  
SQLTables(hstmt, (SQLCHAR*) "%", SQL_NTS, (SQLCHAR*)"", 0, (SQLCHAR*)"",  
    0, NULL, 0);  

Voir aussi

SQLTables, fonction
Détails de l’implémentation d’API ODBC