SQLTables
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)
SQLTables können auf einem statischen Servercursor ausgeführt werden. Ein Versuch, SQLTables auf einem aktualisierbaren Cursor (dynamisch oder keyset) auszuführen, gibt SQL_SUCCESS_WITH_INFO zurück, der angibt, dass der Cursortyp geändert wurde.
SQLTables meldet Tabellen aus allen Datenbanken, wenn der CatalogName-Parameter SQL_ALL_CATALOGS und alle anderen Parameter Standardwerte (NULL-Zeiger) enthalten.
Um verfügbare Kataloge, Schemas und Tabellentypen zu melden, verwendet SQLTables spezielle Leere Zeichenfolgen (0-Länge Bytezeiger). Leere Zeichenfolgen sind keine Standardwerte (NULL-Zeiger).
Der ODBC-Treiber für SQL Server Native Client unterstützt Berichtsinformationen für Tabellen auf verknüpften Servern, indem er einen zweiteiligen Namen für den Parameter "CatalogName " akzeptiert: Linked_Server_Name.Catalog_Name.
SQLTables gibt Informationen zu allen Tabellen zurück, deren Namen mit "TableName" übereinstimmen und dem aktuellen Benutzer gehören.
'SQLTables'- und Tabellenwertparameter
Wenn das Anweisungsattribut SQL_SOPT_SS_NAME_SCOPE den Wert SQL_SS_NAME_SCOPE_TABLE_TYPE hat und nicht den Standardwert von SQL_SS_NAME_SCOPE_TABLE, 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 "Table-Valued Parameters (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);