Partager via


SQLTables

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 les 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.

Paramètres SQLTables et Table-Valued

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, vues et synonymes partagent un espace de noms commun distinct de l’espace de noms utilisé par les types de tables. Bien qu’il ne soit pas possible d’avoir une table et une vue portant le même nom, il est possible d’avoir une table et un type de table avec 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