共用方式為


陳述式的批次

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

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)