В этом учебном материале вы узнаете, как использовать функцию SQLERRM в Oracle/PLSQL c синтаксисом и примерами.
Описание
Функция SQLERRM возвращает сообщение об ошибке, связанной с исключительной ситуацией. Эта функция может быть использована только в разделе обработки исключений вашего кода.
Синтаксис
SQLERRM
Параметры или аргументы
Функция SQLERRM не имеет параметров или аргументов.
Примечание
Смотрите также: SQLCODE функцию.
Так обработка исключений обычно записывается со следующим синтаксисом:
EXCEPTION
WHEN exception_name1 THEN
[statements]WHEN exception_name2 THEN
[statements]WHEN exception_name_n THEN
[statements]
WHEN exception_name1 THEN
[statements]WHEN exception_name2 THEN
[statements]WHEN exception_name_n THEN
[statements]
WHEN OTHERS THEN
[statements]
END [procedure_name];
Вы можете использовать функцию SQLERRM, чтобы вызвать ошибку следующим образом:
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END;
WHEN OTHERS THEN
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END;
Или вы могли бы сохранить запись об ошибке в таблицу с помощью функции SQLERRM следующим образом:
EXCEPTION
WHEN OTHERS THEN
err_code := SQLCODE;
err_msg := SUBSTR(SQLERRM, 1, 200);INSERT INTO audit_table (error_number, error_message)
VALUES (err_code, err_msg);
END;
WHEN OTHERS THEN
err_code := SQLCODE;
err_msg := SUBSTR(SQLERRM, 1, 200);INSERT INTO audit_table (error_number, error_message)
VALUES (err_code, err_msg);
END;