Compartir a través de


Lotes de instrucciones

Un lote de instrucciones Transact-SQL contiene dos o más instrucciones, separadas por punto y coma (;), integradas en una sola cadena que se pasa a SQLExecDirect o SQLPrepare Function. Por ejemplo:

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

Los lotes pueden ser más eficaces que el envío de instrucciones por separado porque el tráfico de red suele ser reducido. Use SQLMoreResults para colocarse en el siguiente conjunto de resultados cuando termine con el conjunto de resultados actual.

Siempre pueden usarse lotes cuando los atributos de cursor de ODBC se establecen en los valores predeterminados de un cursor de solo avance y de solo lectura cuyo conjunto de filas tiene un tamaño de 1.

Si se ejecuta un lote al usar cursores de servidor en SQL Server, el cursor del servidor se convierte implícitamente en un conjunto de resultados predeterminado. SQLExecDirect o SQLExecute devuelven SQL_SUCCESS_WITH_INFO y una llamada a SQLGetDiagRec devuelve:

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

Consulte también

Ejecutar instrucciones (ODBC)