SQLTables

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

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 и принадлежат текущему пользователю.

Функция SQLTables и возвращающие табличное значение параметры

Если атрибут инструкции 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