Почему это не вызывает ошибку приложения? Если я выполняю тот же код в анонимном блоке, он работает, то есть вызывает ошибку приложения.Oracle - Как повысить ошибку приложения от функции
CREATE OR REPLACE FUNCTION uf_todate(dt IN date)
RETURN VARCHAR2
IS
BEGIN
IF dt < to_date('01.01.1900','dd.mm.yyyy') THEN
raise_application_error(-20001, 'Date is less than 1/1/1900.');
END IF;
RETURN nvl(upper(to_char(dt ,'dd-mon-yyyy', 'NLS_DATE_LANGUAGE=English')), '31-DEC-9999');
END;
Это Oracle 12c.
Как вы работаете _call_? –
Это работает для меня. Вы уверены, что правильно присвоили значение даты параметру функции? – pablomatico
. 'select uf_todate (to_date ('01 .01.1800 ',' dd.mm.yyyy ')) из double'. Имеет ли это эффект, если я вызываю его из SQL Developer? Он возвращает 01-JAN-1800. – Rubio