資料表值參數組成資料行的描述項欄位

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

本節所述的資料表值參數描述元欄位是使用 SQLSetDescFieldSQLSetDescField 搭配實作參數描述元的控制碼來操作, (IPD) 。

備註

SQL_DESC_AUTO_UNIQUE_VALUE 用於資料表值參數與其他功能。

屬性名稱 類型 描述
SQL_DESC_AUTO_UNIQUE_VALUE SQLINTEGER SQL_TRUE 表示此資料行是識別資料行。

SQL Server可以使用這項資訊來優化效能,但不需要應用程式來設定身分識別資料行。

下列屬性會加入到應用程式參數描述項 (APD) 和實作參數描述項 (IPD) 的所有參數類型中:

屬性名稱 類型 描述
SQL_CA_SS_COLUMN_COMPUTED SQLSMALLINT SQL_TRUE 表示此資料行是計算資料行。

SQL Server可以使用這項資訊來優化效能,但應用程式不需要為計算資料行設定它。

若是非資料表值參數資料行的繫結,會忽略此屬性。
SQL_CA_SS_COLUMN_IN_UNIQUE_KEY SQLSMALLINT SQL_TRUE 表示資料表值參數資料行參與唯一的索引鍵。 這會使查詢效能更好。 若是非資料表值參數資料行的繫結,會忽略此屬性。
SQL_CA_SS_COLUMN_SORT_ORDER SQLSMALLINT 表示資料表值參數資料行的排序次序。 這會使查詢效能更好。 若是非資料表值參數資料行的繫結,會忽略此屬性。 以下是可能的值:
SQL_SS_ASCENDING_ORDER
SQL_SS_DESCENDING_ORDER
SQL_SS_ORDER_UNSPECIFIED

SQL_SS_ASCENDING_ORDERSQL_SS_DESCENDING_ORDER以外的值會產生SQLSTATE HY024和訊息「無效屬性值」的錯誤,並視為SQL_SS_ORDER_UNSPECIFIED,這是此屬性的預設值。
SQL_CA_SS_COLUMN_SORT_ORDINAL SQLSMALLINT 表示在定義資料表值參數之整體順序的一組資料行中,資料表值參數資料行的序數。 這會使查詢效能更好。 若是非資料表值參數資料行的繫結,會忽略此屬性。 排序序數會從 1 開始。 預設值 0 表示資料表值參數資料行沒有資料行順序。
SQL_CA_SS_COLUMN_HAS_DEFAULT_VALUE SQLSMALLINT 表示資料表值參數中的所有資料列對於此資料行是否有預設值。 對於資料表值參數,無法逐資料列選取預設值。 SQL_FALSE 的值表示這些資料列將沒有預設值。 此為預設值。 SQL_TRUE 的值表示此資料行對於所有資料列都有預設值。

如果設定為 SQL_TRUE,則不會將任何資料傳送到伺服器。

如果伺服器處理不需要資料行值,此欄位也可以搭配識別或計算資料行使用。

這些屬性只適用於資料表值參數資料行。 若是其他參數,則會忽略這些屬性。

如果針對資料表值參數資料行設定 SQL_CA_SS_COL_HAS_DEFAULT_VALUE,該資料行的 SQL_DESC_DATA_PTR 必須為 Null 指標。 否則,SQLExecute 或 SQLExecDirect 會傳回SQL_ERROR。 診斷記錄將會產生 SQLSTATE=07S01 和訊息「參數 p、 column < c 的預設參數無效」,其中 < p >> 是參數 < 序數, < 而 c > 是資料行序 > 數。

另請參閱

資料表值參數 (ODBC)