SQLSetDescRec
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
本主題討論 SQL Server Native Client 特有的 SQLSetDescRec 功能。
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 | 數據表值參數類型名稱的長度。 如果類型名稱為 null 終止,則這可以是SQL_NTS;如果不需要數據表值參數類型名稱,則為零。 |
有效位數 | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
縮放比例 | SQL_DESC_SCALE | 未使用的。 此參數應該是零。 |
DataPtr | APD 中的SQL_DESC_DATA_PTR | SQL_CA_SS_TYPE_NAME 這個參數是預存過程調用的選擇性參數,如果不需要,則可以指定 NULL。 這個參數必須針對不是過程調用的 SQL 語句指定。 DataPtr 也做為唯一值,當使用變數數據列系結時,應用程式可用來識別這個數據表值參數。 |
StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR 對於數據表值參數,這是要傳送或SQL_DATA_AT_EXEC的數據列數目。 這是值的指標,這個值會保存要與 SQLExecDirect 一起傳輸的數據列數目。 |
IndicatorPtr | 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 |
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 |
如需詳細資訊,請參閱 日期和時間改善 (ODBC)。
大型 CLR UDT 的 SQLSetDescRec 支援
SQLSetDescRec 支援大型 CLR 使用者定義型別 (UDT)。 如需詳細資訊,請參閱 大型CLR使用者定義型別 (ODBC)。