Errores y los lotes
Cuando se produce un error al ejecutar un lote de instrucciones SQL, uno de los cuatro resultados siguientes es posible. (Cada resultado posible es específico del origen de datos e incluso puede depender de las instrucciones incluidas en el lote).
No se ejecutan instrucciones en el lote.
No se ejecutan instrucciones en el lote y la transacción se revierte.
Se ejecutan todas las instrucciones antes de la instrucción de error.
Se ejecutan todas las instrucciones, excepto la instrucción de error.
En los dos primeros casos, SQLExecute y SQLExecDirect devuelven SQL_ERROR. En los dos últimos casos, pueden devolver SQL_SUCCESS_WITH_INFO o SQL_SUCCESS, en función de la implementación. En todos los casos, se puede recuperar más información de error con SQLGetDiagField, SQLGetDiagRec o SQLError. Sin embargo, la naturaleza y la profundidad de esta información son específicas del origen de datos. Además, es poco probable que esta información identifique exactamente la instrucción en error.