SQLSetDescRec

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instanceazure Synapse Analytics

Toto téma se zabývá funkcionalitou SQLSetDescRec, která je specifická pro nativního klienta SQL Server.

SQLSetDescRec a Table-Valued parametry

SQLSetDescRec lze použít k nastavení deskriptorových polí pro tabulkové parametry a tabulkové sloupce parametrů. Sloupce parametrů s tabulkovou hodnotou jsou dostupné pouze tehdy, když je pole descriptoru SQL_SOPT_SS_PARAM_FOCUS nastaveno na ordinál záznamu, který má SQL_DESC_TYPE nastaven na SQL_SS_TABLE. Pro více informací o SQL_SOPT_SS_PARAM_FOCUS viz SQLSetStmtAttr.

Následující tabulka popisuje mapování mezi parametry a deskriptorovými poli.

Parameter Související atribut pro typy parametrů bez tabulkových hodnot, včetně tabulkových sloupců parametrů Související atribut pro tabulkově hodnotové parametry
Type SQL_DESC_TYPE SQL_SS_TABLE
Podtyp Ignored Pro záznamy typu SQL_DATETIME nebo SQL_INTERVAL nastavte toto na SQL_DESC_DATETIME_INTERVAL_CODE.
délka SQL_DESC_OCTET_LENGTH Délka názvu typu parametru s tabulkovou hodnotou. To může být SQL_NTS, pokud je název typu null ukončen, nebo nula, pokud není vyžadováno tabulkové jméno typu parametru.
Precision SQL_DESC_PRECISION SQL_DESC_ARRAY_SIZE
Scale SQL_DESC_SCALE Unused. Tento parametr by měl být nulový.
DataPtr SQL_DESC_DATA_PTR v APD SQL_CA_SS_TYPE_NAME

Tento parametr je volitelný pro uložené procedurální volání a pokud není vyžadován, lze specifikovat NULL. Tento parametr musí být specifikován pro SQL příkazy, které nejsou voláním procedur.

DataPtr také slouží jako jedinečná hodnota, kterou může aplikace použít k identifikaci tohoto tabulkově hodnotového parametru při použití variabilního řádkového vazby.
StringLengthPtr SQL_DESC_OCTET_LENGTH_PTR SQL_DESC_OCTET_LENGTH_PTR

Pro parametr s tabulkovou hodnotou je to počet řádků k přenesení nebo SQL_DATA_AT_EXEC. Jedná se o ukazatel na hodnotu, která obsahuje počet řádků pro přenos pomocí SQLExecDirect.
IndicatorPtr SQL_DESC_INDICATOR_PTR SQL_DESC_INDICATOR_PTR

Pro více informací o tabulkových parametrech viz Table-Valued Parametry (ODBC).

Podpora SQLSetDescRec pro vylepšené funkce data a času

Hodnoty povolené pro typy dat/času jsou následující:

Attribute Type Podtyp délka Precision Scale
datetime SQL_DATETIME SQL_CODE_TIMESTAMP 4 3 3
smalldatetime SQL_SQL_DATETIME SQL_CODE_TIMESTAMP 8 0 0
date SQL_DATETIME SQL_CODE_DATE 6 0 0
time 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

Další informace naleznete v tématu vylepšení data a času (ODBC).

Podpora SQLSetDescRec pro velké CLR UDT

SQLSetDescRec podporuje velké uživatelsky definované typy CLR (UDT). Další informace najdete v tématuVelké typy User-Defined CLR (ODBC).