Partilhar via


Erros e Lotes

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

  • Nenhuma instrução no lote é executada.

  • Nenhuma operação do lote é executada e a transação é anulada.

  • Todas as instruções anteriores à declaração de erro são executadas.

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

Nos dois primeiros casos, SQLExecute e SQLExecDirect retornam SQL_ERROR. Nos dois últimos casos, podem devolver SQL_SUCCESS_WITH_INFO ou SQL_SUCCESS, dependendo da implementação. Em todos os casos, informação adicional de erro pode ser recuperada com SQLGetDiagField, SQLGetDiagRec ou SQLError. No entanto, a natureza e profundidade desta informação dependem de cada fonte de dados. Além disso, esta informação dificilmente identificará exatamente a afirmação em erro.