Поля дескриптора для столбцов, составляющих параметр Table-Valued

Поля дескриптора дескриптора табличного параметра, описанные в этом разделе, обрабатываются с помощью 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 для этого столбца должен быть пустым указателем. В противном случае SQLExecute или SQLExecDirect возвращает SQL_ERROR. Диагностическая запись будет создана с помощью SQLSTATE=07S01 и сообщения "Недопустимое использование параметра по умолчанию для параметра <p>, column <c>", где <p> — порядковый номер параметра, а <c> — порядковый номер столбца.

См. также

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