SQLTables

Dotyczy:sql ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

SQLTables mogą być wykonywane na statycznym kursorze serwera. Próba wykonania SQLTables na aktualizowalnym (dynamicznym lub zestawie klawiszy) kursorze zwróci SQL_SUCCESS_WITH_INFO wskazując, że typ kursora został zmieniony.

SQLTables raportuje tabele ze wszystkich baz danych, gdy parametr CatalogName jest SQL_ALL_CATALOGS a wszystkie pozostałe parametry zawierają wartości domyślne (wskaźniki NULL).

Aby raportować dostępne katalogi, schematy i typy tabel, SQLTables szczególnie wykorzystuje puste ciągi (wskaźniki bajtów o zerowej długości). Puste ciągi tekstów nie są wartościami domyślnymi (wskaźniki NULL).

Sterownik ODBC SQL Server Native Client obsługuje raportowanie informacji dla tabel na połączonych serwerach, akceptując dwuczęściową nazwę parametru CatalogName: Linked_Server_Name.Catalog_Name.

SQLTables zwraca informacje o wszystkich tabelach, których nazwy odpowiadają TableName i należą do aktualnego użytkownika.

SQLTables i parametry Table-Valued

Gdy atrybut SQL_SOPT_SS_NAME_SCOPE instrukcji ma wartość SQL_SS_NAME_SCOPE_TABLE_TYPE, a nie domyślną wartość SQL_SS_NAME_SCOPE_TABLE, SQLTables zwraca informacje o typach tabel. Wartość TABLE_TYPE zwracana dla typu tabeli w kolumnie 4 zestawu wyników zwracanego przez SQLTables to .TABLETYPE Więcej informacji o SQL_SOPT_SS_NAME_SCOPE można znaleźć w SQLSetStmtAttr.

Tabele, widoki i synonimy dzielą wspólną przestrzeń nazw, która różni się od przestrzeni nazw używanej przez typy tabel. Chociaż nie jest możliwe posiadanie tabeli i widoku o tej samej nazwie, możliwe jest, aby tabela i typ tabeli miały te same w tym samym katalogu i schemiacie.

Więcej informacji o parametrach tabelowych można znaleźć w Table-Valued Parameters (ODBC).

Przykład

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