資料表值參數描述項欄位

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

支援資料表值參數包括 ODBC 應用程式參數描述元 (API) 的新SQL Server特定欄位,以及 (IPD) 實作參數描述元。

備註

名稱 位置 類型 描述
SQL_CA_SS_TYPE_NAME IPD SQLTCHAR * 資料表值參數的伺服器類型名稱。

在呼叫 SQLBindParameter 時指定資料表值參數類型名稱時,它必須一律指定為 Unicode 值,即使在建置為 ANSI 應用程式的應用程式中也一樣。 參數 StrLen_or_IndPtr 所使用的值應該是SQL_NTS,或是名稱的字串長度乘以 sizeof (WCHAR) 。

透過 SQLSetDescField 指定資料表值參數類型名稱時,可以使用符合應用程式建置方式的常值來指定。 ODBC 驅動程式管理員將會執行所有必要的 Unicode 轉換。
SQL_CA_SS_TYPE_CATALOG_NAME (唯讀) IPD SQLTCHAR * 類型定義所在的目錄。
SQL_CA_SS_TYPE_SCHEMA_NAME IPD SQLTCHAR * 類型定義所在的結構描述。

應用程式不得針對資料表值參數設定 SQL_CA_SS_TYPE_CATALOG_NAME。 這麼做會傳回 SQL_ERROR,而且會記錄具有 SQLSTATE=HY091 和「無效的描述項欄位識別碼」訊息的診斷記錄。

當參數焦點設定為資料表值參數時,資料表值參數適用下列的陳述式屬性和描述項標頭欄位:

名稱 位置 類型 描述
SQL_ATTR_PARAMSET_SIZE

(這相當於在 APD 中的 SQL_DESC_ARRAY_SIZE)。
APD SQLUINTEGER 資料表值參數的緩衝區陣列的陣列大小。 這是緩衝區可容納的最大資料列數目,或者以資料列表示的緩衝區大小;資料表值參數值本身的資料列可能多於或少於緩衝區所能保存的資料列。 預設值為 1。

注意:如果SQL_SOPT_SS_PARAM_FOCUS設為預設值 0,SQL_ATTR_PARAMSET_SIZE會參考 語句,並指定參數集的數目。 如果 SQL_SOPT_SS_PARAM_FOCUS 設定為資料表值參數的序數,則它會參考資料表值參數並針對資料表值參數而指定每個參數集的資料列數。
SQL_ATTR_PARAM _BIND_TYPE APD SQLINTEGER 預設值為 SQL_PARAM_BIND_BY_COLUMN。

若要選取資料列繫結,這個欄位會設定為會繫結到資料表值參數資料列集之結構或緩衝區執行個體的長度。 這個長度會包含所有繫結資料行以及結構或緩衝區之任何填補的空間。 如此可確保在使用指定長度遞增繫結資料行的位址時,結果會指向下一個資料列中相同資料行的起始處。 在 ANSI C 中使用 sizeof 運算子時,會保證此行為。
SQL_ATTR_PARAM_BIND_OFFSET_PTR APD SQLINTEGER* 預設值為 Null 指標。

如果此欄位非 Null,則驅動程式會取消指標的參考、將取消參考的值加入至描述項記錄中的每個延遲欄位 (SQL_DESC_DATA_PTR、SQL_DESC_INDICATOR_PTR 和 SQL_DESC_OCTET_LENGTH_PTR),然後使用新的指標值來存取資料值。

這些欄位只有在使用資料表值參數時才有效,其他的資料類型會加以忽略。

SQL_CA_SS_TYPE_NAME 對預存程序呼叫而言是選擇性的。 必須針對不是程序呼叫的 SQL 陳述式指定這個欄位,才能讓伺服器判斷資料表值參數的類型。

如果需要類型名稱,且資料表值參數的資料表類型是定義於預存程序以外的結構描述中,則必須在實作參數描述項 (IPD) 中指定 SQL_CA_SS_TYPE_SCHEMA_NAME。 如果沒有指定,伺服器將無法判斷資料表值參數的類型。 當您呼叫 SQLExecute 或 SQLExecDirect 時,這會導致錯誤。 錯誤將具有 SQLSTATE= 07006 和訊息「限制的資料類型屬性違規」。

資料表值參數資料行可以使用資料列繫結或資料行繫結。 預設為資料行繫結。 資料列繫結可以藉由設定 SQL_ATTR_PARAM_BIND_TYPE 和 SQL_ATTR_ PARAM_BIND_OFFSET_PTR 來指定。 這與資料行和參數的資料列繫結類似。

SQL_CA_SS_TYPE_CATALOG_NAME 和 SQL_CA_SS_TYPE_SCHEMA_NAME 也可以用來擷取與 CLR 使用者定義型別參數相關聯的目錄和結構描述。 這些欄位是這些類型現有之類型特定目錄結構描述屬性的替代項目。

另請參閱

資料表值參數 (ODBC)