Lots d'instructions
Un lot d’instructions Transact-SQL contient deux instructions ou plus, séparées par un point-virgule (;), intégré dans une chaîne unique passée à SQLExecDirect ou SQLPrepare Function. Par exemple :
SQLExecDirect(hstmt,
"SELECT * FROM Authors; SELECT * FROM Titles",
SQL_NTS);
Les lots peuvent se révéler plus efficaces que la soumission des instructions séparément car le trafic réseau est souvent réduit. Utilisez SQLMoreResults pour vous positionner sur le jeu de résultats suivant lorsque vous avez terminé avec le jeu de résultats actuel.
Les lots peuvent toujours être utilisés lorsque les attributs de curseur ODBC sont définis sur les valeurs par défaut d'un curseur avant uniquement en lecture seule avec une taille d'ensemble de lignes de 1.
Si un lot est exécuté lors de l’utilisation de curseurs de serveur sur SQL Server, le curseur du serveur est implicitement converti en jeu de résultats par défaut. SQLExecDirect ou SQLExecute retournent SQL_SUCCESS_WITH_INFO, et un appel à SQLGetDiagRec retourne :
szSqlState = "01S02", pfNativeError = 0
szErrorMsg = "[Microsoft][SQL Server Native Server Native Client]Cursor type changed."