SQLTables

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQLTables können auf einem statischen Servercursor ausgeführt werden. Ein Versuch, SQLTables auf einem aktualisierbaren (dynamischen oder Keyset)-Cursor auszuführen, gibt SQL_SUCCESS_WITH_INFO zurück, was angibt, dass der Cursortyp geändert wurde.

SQLTables meldet Tabellen aus allen Datenbanken, wenn der Parameter CatalogName SQL_ALL_CATALOGS ist und alle anderen Parameter Standardwerte (NULL-Zeiger) enthalten.

Um verfügbare Kataloge, Schemas und Tabellentypen zu melden, verwendet SQLTables besonders leere Zeichenfolgen (Bytezeiger der Länge null). Leere Zeichenfolgen sind keine Standardwerte (NULL-Zeiger).

Der SQL Server Native Client ODBC-Treiber unterstützt das Melden von Informationen für Tabellen auf Verbindungsservern, indem er einen zweiteiligen Namen für den CatalogName-Parameter akzeptiert: Linked_Server_Name.Catalog_Name.

SQLTables gibt Informationen zu allen Tabellen zurück, deren Namen mit TableName übereinstimmen und sich im Besitz des aktuellen Benutzers befinden.

'SQLTables'- und Tabellenwertparameter

Wenn das Anweisungsattribut SQL_SOPT_SS_NAME_SCOPE über den Wert SQL_SS_NAME_SCOPE_TABLE_TYPE und nicht über den Standardwert SQL_SS_NAME_SCOPE_TABLE verfügt, gibt SQLTables Informationen zu Tabellentypen zurück. Der TABLE_TYPE Wert, der für einen Tabellentyp in Spalte 4 des von SQLTables zurückgegebenen Resultsets zurückgegeben wird, ist TABLE TYPE. Weitere Informationen zu SQL_SOPT_SS_NAME_SCOPE finden Sie unter SQLSetStmtAttr.

Tabellen, Sichten und Synonyme nutzen einen gemeinsamen Namespace, der sich von dem Namespace unterscheidet, den Tabellentypen verwenden. Wenngleich ein und derselbe Namespace nicht eine Tabelle und eine Sicht enthalten kann, ist es hingegen möglich, dass ein Namespace im selben Katalog und Schema eine Tabelle und einen Tabellentypen enthält.

Weitere Informationen zu Tabellenwertparametern finden Sie unter Tabellenwertparameter (ODBC).

Beispiel

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

Weitere Informationen

SQLTables-Funktion
ODBC API Implementation Details