Partier av uttalanden

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

En batch av Transact-SQL-satser innehåller två eller fler satser, separerade av ett semikolon (;), inbyggda i en enda sträng som skickas till SQLExecDirect eller SQLPrepare Function. Ett exempel:

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

Batcher kan vara mer effektiva än att skicka in uttalanden separat eftersom nätverkstrafiken ofta minskar. Använd SQLMoreResults för att positionera dig på nästa resultatuppsättning när du är klar med den aktuella resultatuppsättningen.

Batches kan alltid användas när ODBC-markörens attribut är inställda på standardvärdet för en framåtriktad, skrivskyddad markör med raduppsättningsstorlek på 1.

Om en batch körs när servermarkörer används mot SQL Server, konverteras servermarkören implicit till en standardresultatuppsättning. SQLExecDirect eller SQLExecute returnerar SQL_SUCCESS_WITH_INFO, och ett anrop till SQLGetDiagRec returnerar:

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