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


Поля дескриптора для столбцов, содержащих параметры, возвращающие табличные значения

Для работы с полями дескриптора для столбцов, содержащих возвращающие табличные значения параметры, которые описаны в этом разделе, предназначены функции SQLSetDescField и SQLSetDescField, которым передается дескриптор параметра реализации (IPD).

Замечания

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

Имя атрибута

Тип

Описание

SQL_DESC_AUTO_UNIQUE_VALUE

SQLINTEGER

SQL_TRUE указывает, что этот столбец является столбцом идентификаторов.

SQL Server может использовать эти сведения для оптимизации производительности, однако приложение не обязано устанавливать это свойство для столбцов идентификаторов.

Следующие атрибуты добавляются к параметрам всех типов в дескрипторе параметра приложения (APD) и дескрипторе параметра реализации (IPD).

Имя атрибута

Тип

Описание

SQL_CA_SS_COLUMN_COMPUTED

SQLSMALLINT

SQL_TRUE указывает, что этот столбец является вычисляемым.

SQL Server может использовать эти сведения для оптимизации производительности, однако приложение не обязано устанавливать это свойство для вычисляемых столбцов.

Этот атрибут пропускается в случае привязок, не являющихся столбцами параметров, возвращающих табличные значения.

SQL_CA_SS_COLUMN_IN_UNIQUE_KEY

SQLSMALLINT

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

SQL_CA_SS_COLUMN_SORT_ORDER

SQLSMALLINT

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

  • SQL_SS_ASCENDING_ORDER

  • SQL_SS_DESCENDING_ORDER

  • SQL_SS_ORDER_UNSPECIFIED

Для значений, отличных от SQL_SS_ASCENDING_ORDER и SQL_SS_DESCENDING_ORDER, будет выдана ошибка с кодом SQLSTATE HY024 и сообщением «Недопустимое значение атрибута», а дальнейшая обработка произведена таким же образом, как и для значения SQL_SS_ORDER_UNSPECIFIED, которое является значением по умолчанию этого атрибута.

SQL_CA_SS_COLUMN_SORT_ORDINAL

SQLSMALLINT

Указывает порядковый номер столбца параметра, возвращающего табличное значение, в наборе столбцов, которые определяют сквозной порядковый номер для параметра, возвращающего табличное значение. Это может повысить производительность запросов. Этот атрибут пропускается в случае привязок, не являющихся столбцами параметров, возвращающих табличные значения. Порядковые номера сортировки начинаются с 1. Значение 0 (устанавливаемое по умолчанию) указывает, что столбец параметра, возвращающего табличное значение, не упорядочен.

SQL_CA_SS_COLUMN_HAS_DEFAULT_VALUE

SQLSMALLINT

Указывает, будут ли все строки параметра, возвращающего табличное значение, иметь значение по умолчанию для этого столбца. Для параметров, возвращающих табличное значение, значение по умолчанию не может выбираться построчно. Значение SQL_FALSE указывает на то, что строки будут иметь значения отличные от значений по умолчанию. Это режим по умолчанию. Значение SQL_TRUE указывает, что этот столбец будет иметь значения по умолчанию для всех строк.

Если установлено значение SQL_TRUE, то данные не будут отправляться на сервер.

Это поле также используется со столбцами идентификаторов или вычисляемых столбцов, если их обработка на сервере не требуется.

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

Если для столбца, возвращающего табличное значение параметра, установлен атрибут SQL_CA_SS_COL_HAS_DEFAULT_VALUE, то SQL_DESC_DATA_PTR для этого столбца должен быть равен null. В противном случае метод SQLExecute или SQLExecDirect вернет значение SQL_ERROR. Будет создана диагностическая запись с кодом SQLSTATE=07S01 и сообщением «Недопустимое использование параметра по умолчанию для параметра <p>, столбец <c>», где <p> — порядковый номер параметра, а <c> — порядковый номер столбца.

См. также

Основные понятия

Возвращающие табличное значение параметры (ODBC)