Ошибки и пакеты

При возникновении ошибки при выполнении пакета инструкций SQL возможны один из следующих четырех результатов. (Каждый возможный результат зависит от источника данных и может даже зависеть от инструкций, включенных в пакет.)

  • Инструкции в пакете не выполняются.

  • Операторы в пакете не выполняются, а транзакция откатывается.

  • Все инструкции перед выполнением инструкции ошибки.

  • Все инструкции, кроме инструкции ошибки, выполняются.

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