Batch di istruzioni

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

Un batch di Transact-SQL istruzioni contiene due o più istruzioni, separate da un punto e virgola (;), compilate in una singola stringa passata a SQLExecDirect o alla funzione 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. Utilizzare SQLMoreResults per posizionare il 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 utilizzano cursori del server in SQL Server, questi ultimi vengono convertiti implicitamente in set di risultati predefiniti. 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)