共用方式為


資料表值參數 (ODBC)

適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)

ODBC 對資料表值參數的支援可讓用戶端應用程式透過一次呼叫將多個數據列傳送至伺服器,以更有效率地將參數化數據傳送至伺服器。

如需伺服器上數據表值參數的相關信息,請參閱使用數據表值參數 (資料庫引擎)。

在 ODBC 中,有兩種方式可將數據表值參數傳送至伺服器:

  • 呼叫 SQLExecDirect 或 SQLExecute 時,所有數據表值參數數據都可以在記憶體中。 如果數據表值中有多個數據列,此數據會儲存在陣列中。

  • 呼叫 SQLExecDirect 或 SQLExecute 時,應用程式可以指定資料表值參數的數據執行中。 在此情況下,數據表值的數據列可以批次提供,或一次提供一個,以減少記憶體需求。

第一個選項可讓預存程式封裝更多商業規則。 例如,當訂單專案傳遞為數據表值參數時,單一預存程式可能會封裝整個訂單專案交易。 此選項非常有效率,因為只需要單一往返伺服器。 或者,您可以使用不同的程式分別處理訂單標頭和訂單專案,這需要更多程式代碼和客戶端與伺服器之間的更複雜的合約。

第二種方法為大量作業提供非常大量的數據的有效機制。 這可讓應用程式將數據列串流至伺服器,而不需要先緩衝處理所有記憶體中的數據列。

您可以在建立資料表變數時建立條件約束和主鍵。 條件約束是確保數據表中的數據符合特定需求的好方法。

本節內容

ODBC 資料表值參數的使用
描述數據表值參數和 ODBC 的主要使用者案例。

數據表值參數的 ODBC SQL 類型
描述SQL_SS_TABLE類型。 這是支持數據表值參數的新 ODBC SQL 類型。

數據表值參數描述元欄位
描述支持數據表值參數的描述項欄位。

數據表值參數組成數據行的描述項欄位
描述具有數據表值參數意義的描述項欄位。

數據表值參數診斷記錄欄位
描述已新增至診斷記錄的兩個診斷欄位,以支援數據表值參數。

影響數據表值參數的語句屬性
描述可讓數據表值參數數據行尋址的新描述元標頭欄位。

數據表值參數和數據行值的系結和數據傳輸
描述參數係結,以及如何將數據表值參數傳遞至伺服器。

備妥語句的數據表值參數元數據
描述應用程式如何取得備妥過程調用的元數據。

其他數據表值參數元數據
描述如何使用 SQLProcedureColumns、SQLTables 和 SQLColumns 來擷取數據表值參數的元數據。

數據表值參數數據轉換和其他錯誤和警告
描述如何處理數據表值參數數據行值上的錯誤。

跨版本相容性
描述當 SQL Server 2008 (10.0.x) 之前的客戶端或伺服器使用資料表值參數時,可能發生的衝突。

ODBC 資料表值參數 API 摘要
列出支持數據表值參數的 ODBC 函式。

另請參閱

SQL Server Native Client (ODBC)
資料表值參數 (SQL Server Native Client)