Поля дескриптора для столбцов, содержащих параметры, возвращающие табличные значения
Для работы с полями дескриптора для столбцов, содержащих возвращающие табличные значения параметры, которые описаны в этом разделе, предназначены функции 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, будет выдана ошибка с кодом 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> — порядковый номер столбца.