陳述式的批次
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."