Ошибки и пакеты
При возникновении ошибки при выполнении пакета инструкций SQL возможны один из следующих четырех результатов. (Каждый возможный результат зависит от источника данных и может даже зависеть от инструкций, включенных в пакет.)
Инструкции в пакете не выполняются.
Операторы в пакете не выполняются, а транзакция откатывается.
Все инструкции перед выполнением инструкции ошибки.
Все инструкции, кроме инструкции ошибки, выполняются.
В первых двух случаях sqlExecute и SQLExecDirect возвращают SQL_ERROR. В последних двух случаях они могут возвращать SQL_SUCCESS_WITH_INFO или SQL_SUCCESS в зависимости от реализации. Во всех случаях дополнительные сведения об ошибках можно получить с помощью SQLGetDiagField, SQLGetDiagRec или SQLError. Однако характер и глубина этой информации зависят от источника данных. Кроме того, эти сведения вряд ли будут точно определять инструкцию в ошибке.