SQLTables

SQLTables kann in einem statischen Servercursor ausgeführt werden. Wenn SQLTables in einem aktualisierbaren Cursor (dynamischen Cursor oder Keysetcursor) ausgeführt wird, wird SQL_SUCCESS_WITH_INFO zurückgegeben. Das bedeutet, dass der Cursortyp geändert wurde.

SQLTables führt Tabellen aus allen Datenbanken auf, wenn der CatalogName-Parameter SQL_ALL_CATALOGS lautet und alle anderen Parameter Standardwerte (NULL-Zeiger) enthalten.

SQLTables verwendet leere Zeichenfolgen (Zeiger mit der Länge 0 Byte), um verfügbare Kataloge, Schemas und Tabellen anzugeben. Leere Zeichenfolgen sind keine Standardwerte (NULL-Zeiger).

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

SQLTables gibt Informationen über Tabellen zurück, deren Name mit TableName übereinstimmt und die sich im Besitz des aktuellen Benutzers befinden.

'SQLTables'- und Tabellenwertparameter

Wenn das SQL_SOPT_SS_NAME_SCOPE-Anweisungsattribut den Wert SQL_SS_NAME_SCOPE_TABLE_TYPE statt seines Standardwerts SQL_SS_NAME_SCOPE_TABLE aufweist, gibt SQLTables Informationen über Tabellentypen wieder. Der für einen Tabellentyp in Spalte 4 des Resultsets von SQLTables zurückgegebene TABLE_TYPE-Wert lautet 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);

Siehe auch

Konzepte

Andere Ressourcen