Partager via


Lots d'instructions

Un lot d'instructions Transact-SQL contient plusieurs instructions, séparées par un point-virgule (;), intégrées dans une chaîne unique passée à SQLExecDirect ou SQLPrepare. 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 en 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 côté serveur contre SQL Server, le curseur côté serveur est converti implicitement en un jeu de résultats par défaut. SQLExecDirect ou SQLExecute retourne SQL_SUCCESS_WITH_INFO et un appel à SQLGetDiagRec retourne :

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

Voir aussi

Concepts