Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
azure SQL Managed Instance
azure 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ématu