SQLTables

SQLTables можно выполнять на статичном серверном курсоре. Попытка выполнить SQLTables на обновляемом курсоре (динамический или набор ключей) вернет SQL_SUCCESS_WITH_INFO указывает, что тип курсора был изменен.

SQLTables сообщает таблицы из всех баз данных, если параметр CatalogName SQL_ALL_CATALOGS, а все остальные параметры содержат значения по умолчанию (указатели NULL).

Чтобы сообщить о доступных каталогах, схемах и типах таблиц, SQLTables специально использует пустые строки (указатели байтов нулевой длины). Пустые строки не являются значениями по умолчанию (указатели NULL).

Драйвер ODBC собственного клиента SQL Server поддерживает отчеты о таблицах на связанных серверах, принимая двух частей для параметра CatalogName : Linked_Server_Name.Catalog_Name.

SQLTables возвращает сведения о любых таблицах, имена которых соответствуют TableName и принадлежат текущему пользователю.

Параметры SQLTable и Table-Valued

Если атрибут инструкции SQL_SOPT_SS_NAME_SCOPE имеет значение SQL_SS_NAME_SCOPE_TABLE_TYPE, а не значение по умолчанию SQL_SS_NAME_SCOPE_TABLE, SQLTable возвращает сведения о типах таблиц. Значение TABLE_TYPE, возвращаемое для типа таблицы в столбце 4 результированного набора, возвращаемого SQLTables, — TABLE TYPE. Дополнительные сведения о SQL_SOPT_SS_NAME_SCOPE см. в разделе SQLSetStmtAttr.

Таблицы, представления и синонимы используют общее пространство имен, отличное от пространства имен, используемого типами таблиц. Несмотря на то, что таблица и представление с тем же именем невозможно, можно иметь таблицу и тип таблицы с тем же типом в одном каталоге и схеме.

Дополнительные сведения о табличном значении параметров см. в разделе "Параметры с табличным значением" (ODBC).

Пример

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

См. также

Функция SQLTables
Подробные сведения о реализации API-интерфейсов ODBC