Поделиться через


SQLTables

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform 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