陳述式的批次

Transact-SQL 語句批次包含兩個或多個語句,並以分號分隔 (;) ,內建于傳遞至 SQLExecDirectSQLPrepare 函式的單一字串中。 例如:

SQLExecDirect(hstmt,   
    "SELECT * FROM Authors; SELECT * FROM Titles",  
    SQL_NTS);  

批次可能會比個別提交陳述式更有效率,因為其網路傳輸量通常較低。 使用 SQLMoreResults 在目前的結果集完成時,取得下一個結果集的位置。

當 ODBC 資料指標屬性設定為預設值 (資料列集大小為 1 的順向唯讀資料指標) 時,就一定可以使用批次。

如果在對 SQL Server 使用伺服器資料指標時執行批次,則伺服器資料指標會隱含轉換成預設結果集。 SQLExecDirectSQLExecute 傳回SQL_SUCCESS_WITH_INFO,而 對 SQLGetDiagRec 的 呼叫會傳回:

szSqlState = "01S02", pfNativeError = 0  
szErrorMsg = "[Microsoft][SQL Server Native Server Native Client]Cursor type changed."  

另請參閱

ODBC (執行語句)