Partager via


Lots d'instructions

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Un lot d’instructions Transact-SQL contient deux instructions ou plus, séparées par un point-virgule (;), intégré à une seule chaîne 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 se positionner sur le jeu de résultats suivant lorsque vous avez terminé 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 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)