SQLTables

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQLTables kunnen worden uitgevoerd op een statische servercursor. Een poging om SQLTables uit te voeren op een updateerbare (dynamische of keyset) cursor geeft SQL_SUCCESS_WITH_INFO terug dat aangeeft dat het cursortype is gewijzigd.

SQLTables rapporteert tabellen uit alle databases wanneer de CatalogName-parameter SQL_ALL_CATALOGS is en alle andere parameters standaardwaarden bevatten (NULL-pointers).

Om beschikbare catalogi, schema's en tabeltypen te rapporteren, maakt SQLTables speciaal gebruik van lege strings (nul-lengte byte pointers). Lege strings zijn geen standaardwaarden (NULL-pointers).

De SQL Server Native Client ODBC-driver ondersteunt rapportage-informatie voor tabellen op gekoppelde servers door een tweedelige naam te accepteren voor de CatalogName-parameter: Linked_Server_Name.Catalog_Name.

SQLTables geeft informatie terug over tabellen waarvan de namen overeenkomen met TableName en eigendom zijn van de huidige gebruiker.

SQLTables en Table-Valued parameters

Wanneer het statement-attribuut SQL_SOPT_SS_NAME_SCOPE de waarde SQL_SS_NAME_SCOPE_TABLE_TYPE heeft, in plaats van de standaardwaarde SQL_SS_NAME_SCOPE_TABLE, geeft SQLTables informatie terug over tabeltypen. De TABLE_TYPE waarde die wordt geretourneerd voor een tabeltype in kolom 4 van de resultaatset die door SQLTables wordt teruggegeven, is TABLETYPE. Voor meer informatie over SQL_SOPT_SS_NAME_SCOPE, zie SQLSetStmtAttr.

Tabellen, weergaven en synoniemen delen een gemeenschappelijke naamruimte die verschilt van de naamruimte die door tabeltypen wordt gebruikt. Hoewel het niet mogelijk is om een tabel en een weergave met dezelfde naam te hebben, is het wel mogelijk om een tabel en een tabeltype met hetzelfde in dezelfde catalogus en schema te hebben.

Voor meer informatie over tabelwaardige parameters, zie Table-Valued Parameters (ODBC).

Example

// 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);  

Zie ook

SQLTables-functie
Details van ODBC-API-implementatie