Share via


Lots d'instructions

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Un lot d’instructions Transact-SQL contient au moins deux instructions, 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 serveur sur SQL Server, le curseur du serveur est implicitement converti en 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

Exécution d’instructions (ODBC)