Condividi tramite


Batch di istruzioni

Un batch di istruzioni Transact-SQL contiene due o più istruzioni separate da un punto e virgola (;), incorporato in una singola stringa passata alla funzione SQLExecDirect o SQLPrepare. Ad esempio:

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

I batch possono essere più efficienti rispetto all'invio separato delle istruzioni in quanto il traffico di rete viene spesso ridotto. Usare SQLMoreResults per essere posizionati nel set di risultati successivo al termine del set di risultati corrente.

I batch possono essere sempre utilizzati quando gli attributi del cursore ODBC sono impostati sui valori predefiniti di un cursore forward only in sola lettura con dimensioni del set di righe pari a 1.

Se un batch viene eseguito quando si usano cursori server su SQL Server, il cursore del server viene convertito in modo implicito in un set di risultati predefinito. SQLExecDirect o SQLExecute restituiscono SQL_SUCCESS_WITH_INFO e una chiamata a SQLGetDiagRec restituisce:

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

Vedere anche

Esecuzione di istruzioni (ODBC)