Малък наръчник за грешка капани на Oracle PLSQL.
Описание на начина на използване на Oracle (PLSQL) SQLERRM и SQLCODE функция за улавяне на грешки изключение. описание Синтаксис и пример.
SQLERRM функция връща съобщение за грешка, свързана с последния, произтичащи изключение (грешка).
SQLERRM функция - не е включена лампа.
SQLCODE функция връща код на грешка, свързана с изключение миналата възникналия (грешка)
SQLERRM функция - не е включена лампа.
Обикновено лечението ИЗКЛЮЧЕНИЕ изключение, както следва:
Можете да използвате и SQLERRM SQLCODE функция за генериране на съобщение за грешка, като този:
Или можете да запазите съобщението в таблицата за грешка, както следва:
Варианти на основните възможности:
DUP_VAL_ON_INDEX
ORA-00001
Когато се опитате да вмъкнете вмъкване или обновяване на промяна на данните, която създава дублиран запис нарушава уникален индекс (уникален индекс).
TIMEOUT_ON_RESOURCE
ORA-00051
Това се случва, когато ресурса, на която е извършена операцията е блокиран и не е за нулиране на изчакване.
TRANSACTION_BACKED_OUT
ORA-00061
Частично бе намаление на цените сделка.
INVALID_CURSOR
ORA-01001
Опитите да се използва позицията на курсора не съществува. Може да възникне, ако се опитате да използвате курсора FETCH или в близост до затваряне на курсора преди това курсора сте отворили OPEN.
NOT_LOGGED_ON
ORA-01012
Опитвайки се да се действие, не са влезли в системата.
LOGIN_DENIED
ORA-01017
Неуспешен опит да влезете, за отказан достъп, неправилни име и парола.
NO_DATA_FOUND
ORA-01403
Какво тогава от следните неща: Опитвам се да вмъкнете SELECT INTO несъществуваща набор от ценности (изберете - не връща нищо). Опит за достъп до неинициализирани ред / записи в таблицата. Опитвайки се да се чете рекорд след края на файла с помощта UTL_FILE пакет.
TOO_MANY_ROWS
ORA-01422
Опитайте се да въведете стойност в променлива с помощта на SELECT в и изберете върна повече от едно значение.
INVALID_NUMBER
ORA-01722
Един опит да се изпълни SQL запитване, който превръща линия (STRING) в брой (NUMBER), където такова преобразуване е невъзможно.
STORAGE_ERROR
ORA-06500
Всяка от паметта, или грешка в паметта.
PROGRAM_ERROR
ORA-06501
Вътрешна грешка на софтуера се препоръчва да се справят с тази грешка до Oracle Support.
VALUE_ERROR
ORA-06502
Опитът да се направи операция на преобразуване на данните, която приключи в грешка (например, закръгляване, тип реализация, и т.н.).
CURSOR_ALREADY_OPEN
ORA-06511
Вие се опитвате да отворите курсора, че вече е отворен.
Това е може би всичко.