SQLTables

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instanceazure Synapse Analytics

SQLTables lze vykonávat na statickém kurzoru serveru. Pokus o spuštění SQLTables na aktualizovatelném (dynamickém nebo klíčovém) kurzoru vrátí SQL_SUCCESS_WITH_INFO indikaci, že typ kurzoru byl změněn.

SQLTables hlásí tabulky ze všech databází, když je parametr CatalogName SQL_ALL_CATALOGS a všechny ostatní parametry obsahují výchozí hodnoty (NULL ukazatele).

Pro reportování dostupných katalogů, schémat a typů tabulek SQLTables speciálně využívá prázdné řetězce (ukazatele na bajty nulové délky). Prázdné řetězce nejsou výchozí hodnoty (NULL ukazatele).

Ovladač SQL Server Native Client ODBC podporuje reportování informací pro tabulky na propojených serverech přijetím dvoudílného názvu parametru CatalogName: Linked_Server_Name.Catalog_Name.

SQLTables vrací informace o všech tabulkách, jejichž názvy odpovídají TableName a jsou vlastněny aktuálním uživatelem.

SQLTables a Table-Valued parametry

Když má příkazový atribut SQL_SOPT_SS_NAME_SCOPE hodnotu SQL_SS_NAME_SCOPE_TABLE_TYPE místo výchozí hodnoty SQL_SS_NAME_SCOPE_TABLE, SQLTables vrací informace o typech tabulek. Hodnota TABLE_TYPE vrácená pro typ tabulky ve sloupci 4 výsledné sady vrácené SQLTables je .TABLETYPE Pro více informací o SQL_SOPT_SS_NAME_SCOPE viz SQLSetStmtAttr.

Tabulky, pohledy a synonyma sdílejí společný jmenný prostor, který se liší od jmenného prostoru používaného typy tabulek. Ačkoli není možné mít tabulku a pohled se stejným názvům, je možné mít tabulku a typ tabulky se stejným ve stejném katalogu a schématu.

Pro více informací o tabulkových parametrech viz Table-Valued Parametry (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);