陳述式的批次
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
Transact-SQL 語句的批次包含兩個或多個語句,並以分號分隔(;),內建於傳遞至 SQLExecDirect 或 SQLPrepare 函式的單一字符串中。 例如:
SQLExecDirect(hstmt,
"SELECT * FROM Authors; SELECT * FROM Titles",
SQL_NTS);
批次比個別提交語句更有效率,因為網路流量通常會減少。 使用 SQLMoreResults 在完成目前的結果集時,於下一個結果集上定位。
當 ODBC 數據指標屬性設定為正向唯讀數據指標的預設值,且數據列集大小為 1 的唯讀數據指標時,一律可以使用批次。
如果在對 SQL Server 使用伺服器資料指標時執行批次,則伺服器數據指標會隱含地轉換成預設結果集。 SQLExecDirect 或 SQLExecute 會傳回SQL_SUCCESS_WITH_INFO,而對 SQLGetDiagRec 的呼叫會傳回:
szSqlState = "01S02", pfNativeError = 0
szErrorMsg = "[Microsoft][SQL Server Native Server Native Client]Cursor type changed."