Oracle - 如何从函数中引发应用程序错误

时间:2017-02-22 07:13:15

标签: oracle function

为什么这不会引发应用程序错误?如果我在匿名块中执行相同的代码,它会起作用,即引发应用程序错误。

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。

1 个答案:

答案 0 :(得分:0)

在SQL Developer中单击“提交”按钮似乎没有提交对该功能的更改。执行commit;明确有效。