Compartilhar via


Erros e lotes

Quando ocorre um erro durante a execução de um lote de instruções SQL, um dos quatro resultados a seguir é possível. (Cada resultado possível é específico da fonte de dados e pode, inclusive, depender das instruções incluídas no lote.)

  • Nenhuma instrução no lote é executada.

  • Nenhuma instrução no lote é executada e a transação é revertida.

  • Todas as instruções antes da instrução de erro são executadas.

  • Todas as instruções, exceto a instrução de erro, são executadas.

Nos primeiros dois casos, SQLExecute e SQLExecDirect retornam SQL_ERROR. Nos últimos dois casos, podem retornar SQL_SUCCESS_WITH_INFO ou SQL_SUCCESS, dependendo da implementação. Em todos os casos, é possível recuperar mais informações de erro com SQLGetDiagField, SQLGetDiagRec ou SQLError. Porém, a natureza e a profundidade dessas informações são específicas da fonte de dados. Além disso, é improvável que essas informações identifiquem de modo exato a afirmação errada.