SQLSetDescRec
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
В этом разделе рассматриваются функции SQLSetDescRec, относящиеся к собственному клиенту SQL Server.
Функция SQLSetDescRec и параметры, возвращающие табличное значение
SQLSetDescRec можно использовать для задания полей дескриптора для параметров с табличным значением и столбцов возвращаемых табличным значением параметров. Столбцы возвращающих табличное значение параметров доступны только в том случае, когда в поле заголовка дескриптора SQL_SOPT_SS_PARAM_FOCUS задан порядковый номер записи, имеющей тип SQL_DESC_TYPE со значением SQL_SS_TABLE. Дополнительные сведения об атрибуте SQL_SOPT_SS_PARAM_FOCUS см. в разделе SQLSetStmtAttr.
В следующей таблице показано сопоставление между параметрами и полями дескриптора.
Параметр | Связанный атрибут для типов параметров, отличных от табличного значения, включая столбцы параметров с табличным значением | Связанные атрибуты для возвращающих табличное значение параметров |
---|---|---|
Тип | SQL_DESC_TYPE | SQL_SS_TABLE |
Подтип | Пропущено | Для записей типа SQL_DATETIME и SQL_INTERVAL этот атрибут должен иметь значение SQL_DESC_DATETIME_INTERVAL_CODE. |
Длина | SQL_DESC_OCTET_LENGTH | Длина имени типа параметра, возвращающего табличное значение. Значение может быть равно SQL_NTS, если имя типа представляет собой строку, завершающуюся нулевым символом, или 0, если имя типа параметра, возвращающего табличное значение, не требуется. |
Точность | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
Масштабировать | SQL_DESC_SCALE | Не используется. Значение этого параметра должно быть равно 0. |
DataPtr | SQL_DESC_DATA_PTR в APD | SQL_CA_SS_TYPE_NAME Этот параметр не является обязательным для вызова хранимых процедур; если он не требуется, можно задать значение NULL. Параметр должен быть задан для инструкций SQL, не являющихся вызовами процедур. DataPtr также служит уникальным значением, которое приложение может использовать для идентификации этого табличного параметра при использовании привязки строк переменной. |
StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR Для параметра, возвращающего табличное значение, этот параметр равен числу строк для переноса или значению SQL_DATA_AT_EXEC. Это указатель на значение, которое содержит количество строк для передачи с помощью SQLExecDirect. |
ИндикаторPtr | SQL_DESC_INDICATOR_PTR | SQL_DESC_INDICATOR_PTR |
Дополнительные сведения о табличном значении параметров см. в разделе "Параметры с табличным значением" (ODBC).
Поддержка методом SQLSetDescRec улучшенных функций даты и времени
Для типов даты и времени допускаются следующие значения.
Атрибут | Тип | Подтип | Длина | Точность | Масштабировать |
---|---|---|---|---|---|
datetime | SQL_DATETIME | SQL_CODE_TIMESTAMP | 4 | 3 | 3 |
smalldatetime | SQL_SQL_DATETIME | SQL_CODE_TIMESTAMP | 8 | 0 | 0 |
Дата | SQL_DATETIME | SQL_CODE_DATE | 6 | 0 | 0 |
Время | SQL_SS_TIME2 | 0 | 10 | 0..7 | 0..7 |
datetime2 | SQL_DATETIME | SQL_CODE_TIMESTAMP | 16 | 0..7 | 0..7 |
datetimeoffset | SQL_SS_TIMESTAMPOFFSET | 0 | 20 | 0..7 | 0..7 |
Дополнительные сведения см. в разделе "Улучшения даты и времени" (ODBC).
Поддержка методом SQLSetDescRec больших определяемых пользователем типов в среде CLR
SQLSetDescRec поддерживает большие определяемые пользователем типы CLR (UDTs). Дополнительные сведения см. в разделе "Крупные определяемые пользователем типы CLR" (ODBC).
См. также
SQLSetDescRec
Подробные сведения о реализации API-интерфейсов ODBC