当我在SQL Developer中创建Oracle的函数时,一切正常,但是当我通过jdbc创建相同的函数时,它处于无效状态
以下是函数示例:
create or replace function TEST_FUNC return number is
begin
return 100;
end;
Java代码:
Connection con = ...;
Statement stmt = con.createStatement();
stmt.execute(sql);
当我执行函数时:
select TEST_FUNC() from dual;
我收到错误:ORA-06575:包或函数TEST_FUNC处于无效状态
你能解释一下我做错了吗?
答案 0 :(得分:1)
需要遵守功能才能使用它们。未编译的函数给出了此异常。还要确保查询中没有任何终止CR / LF。将其复制到文本编辑器(textpad)以查看是否有任何文件编辑器。