0
У меня есть следующая процедура с блоком исключений. Когда я выполняю эту процедуру, система захватывает ошибку вместо моего блока исключений. У любого есть идеи относительно того, что я делаю неправильно. БлагодаряPL/SQL EXCEPTION BLOCK Не работает
CREATE OR REPLACE PROCEDURE ADD_ORDER
(CUST_NUM IN CUSTOMERS_T_P2.CNO%TYPE,
EMP_NUM IN EMPLOYEE_T_P2.ENO%TYPE,
REC_DATE IN ORDERS_T_P2.RECEIVED%TYPE)
IS
BEGIN
IF REC_DATE IS NULL THEN
INSERT INTO ORDERS_T_P2 (ONO, CNO, ENO, RECEIVED)
VALUES
(ORDER_NUMBER_SEQ.NEXTVAL, CUST_NUM, EMP_NUM, SYSDATE);
ELSE
INSERT INTO ORDERS_T_P2 (ONO, CNO, ENO, RECEIVED)
VALUES
(ORDER_NUMBER_SEQ.NEXTVAL, CUST_NUM, EMP_NUM, REC_DATE);
END IF;
EXCEPTION
WHEN VALUE_ERROR THEN
ROLLBACK WORK;
INSERT INTO ORDER_ERRORS_T_P2
VALUES
(ORDER_NUMBER_SEQ.NEXTVAL, SYSDATE, 'STRING WAS ENTERED INSTEAD OF NUMBER');
DBMS_OUTPUT.PUT_LINE('STRING WAS ENTERED INSTEAD OF NUMBER');
END;
Может быть, это не ошибка значение? – Hogan
он не работает для какой-либо ошибки, которую я ввел даже в случае ошибки другого пользователя. – bna311
Поместите DBMS_OUTPUT.PUT_LINE сразу после ROLLBACK. И, пожалуйста, отредактируйте свое сообщение и укажите текст сообщения. Благодарю. –