Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Ten temat omawia funkcjonalność SQLSetDescRec specyficzną dla natywnego klienta SQL Server.
SQLSetDescRec i parametry Table-Valued
SQLSetDescRec może być używany do ustawiania pól deskryptorowych dla parametrów tabelowych oraz kolumn parametrów tabelowych. Kolumny parametrów tabelowych są dostępne tylko wtedy, gdy pole nagłówka deskryptora SQL_SOPT_SS_PARAM_FOCUS jest ustawione na porządkowe dane rekordu, który ma SQL_DESC_TYPE ustawione na SQL_SS_TABLE. Więcej informacji o SQL_SOPT_SS_PARAM_FOCUS można znaleźć w SQLSetStmtAttr.
Poniższa tabela opisuje odwzorowanie parametrów i pól deskryptoru.
| Parameter | Powiązany atrybut dla typów parametrów nietabelowych, w tym kolumn parametrów tabelowych | Powiązany atrybut dla parametrów tabelowych |
|---|---|---|
| Type | SQL_DESC_TYPE | SQL_SS_TABLE |
| Podtyp | Ignored | Dla rejestrów typu SQL_DATETIME lub SQL_INTERVAL ustaw to na SQL_DESC_DATETIME_INTERVAL_CODE. |
| Długość | SQL_DESC_OCTET_LENGTH | Długość nazwy typu parametru o wartości tabelowej. Może to być SQL_NTS, jeśli nazwa typu jest zakończona jako null, lub zerowa, jeśli nie jest wymagana nazwa typu parametru o wartości tabelowej. |
| Precyzja | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
| Scale | SQL_DESC_SCALE | Unused. Ten parametr powinien być równy zerowi. |
| DataPtr | SQL_DESC_DATA_PTR w APD | SQL_CA_SS_TYPE_NAME Ten parametr jest opcjonalny dla wywołań procedur przechowywanych, a NULL można określić, jeśli nie jest wymagany. Ten parametr musi być określony dla instrukcji SQL, które nie są wywołaniami procedur. DataPtr służy również jako unikalna wartość, którą aplikacja może wykorzystać do identyfikacji tego parametru tabelowego podczas stosowania zmiennego wiązania wierszy. |
| StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR Dla parametru tabelowego jest to liczba wierszy do przeniesienia lub SQL_DATA_AT_EXEC. Jest to wskaźnik do wartości, która zawiera liczbę wierszy do przeniesienia za pomocą SQLExecDirect. |
| IndicatorPtr | SQL_DESC_INDICATOR_PTR | SQL_DESC_INDICATOR_PTR |
Więcej informacji o parametrach tabelowych można znaleźć w Table-Valued Parameters (ODBC).
Wsparcie SQLSetDescRec dla ulepszonych funkcji dat i godzin
Dozwolone wartości dla typów dat/godzin są następujące:
| Attribute | Type | Podtyp | Długość | Precyzja | Scale |
|---|---|---|---|---|---|
| data/godzina | 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 |
Aby uzyskać więcej informacji, zobacz ulepszenia daty i godziny (ODBC).
Obsługa SQLSetDescRec dla dużych CLR UDT
SQLSetDescRec obsługuje duże typy CLR zdefiniowane przez użytkownika (UDT). Aby uzyskać więcej informacji, zobacz large CLR User-Defined Types (ODBC).