Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Ошибка возникает в DB2

Ошибка возникает в DB2Когда ошибка возникает в DB2, режим работы программы SQL определяется обработчиками условий. Тремя самыми распространенными условиями в DB2 являются NOT FOUND, SQLEXCEPTION и SQLWARNING. Если инструкция программы приводит к состоянию SQLWARN — ING или NOT FOUND, и был определен обработчик соответствующего условия, управление передается этому обработчику. В противном случае DB2 передает управление следующей инструкции в теле программы. Ситуация совершенно другая, если инструкция приводит к состоянию SQLEXCEPTION. Если соответствующий обработчик определен, управление передается ему; в противном случае выполнение программы прекращается и управление передается вызывающему модулю. В IBM DB2 предусмотрены три основных типа обработки ошибок: CONTINUE, EXIT и UNDO. Тип CONTINUE предполагает продолжение выполнения программы, начиная со следующей после ошибочной инструкции (после выполнения инструкций обработки ошибки); EXIT приводит к переходу к последней инструкции программы; UNDO ведет себя аналогично EXIT, но также откатывает все выполненные в программе инструкции DML. Ошибки в Transact-SQL должны обрабатываться с помощью инструкции IF…ELSE, описанной ранее. Последние версии СУБД продолжают поддерживать этот синтаксис, однако исключительно из соображений обратной совместимости. Старый способ обработки критических ошибок сводился к использованию инструкции RAISEERROR, которая завершала программу и возвращала управление вызывающему модулю. Если же требовалось продолжить выполнение программы, использовалась инструкция GOTO, указывающая на блок выполняемых инструкций. Специальная унарная глобальная функция @@error возвращала номер ошибки последней выполненной инструкции Transact-SQL; если ошибки не было, возвращалось значение нуль

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *