【问题标题】:Oracle User Defined Functions in SQLFiddleSQLFiddle 中的 Oracle 用户定义函数
【发布时间】:2017-12-02 13:58:17
【问题描述】:

我正在尝试使用 Oracle 的用户定义函数和虚拟列,但我唯一的测试环境是 SQL Fiddle,我很难理解我做错了什么,因为错误消息非常难以描述。

ORA-06575: Package or function COUNTER is in an invalid state

我尝试了来自不同站点的各种调整和复制粘贴尝试,但看不到函数和 sqlfiddle 可以很好地结合在一起......

create table test (
    x number
)
//

create
  function counter()
    return number is v_result NUMBER;
    begin
        SELECT COUNT(*) INTO v_result FROM test;
        return v_result;
    end;
//

select test.*, counter() from test
//

http://sqlfiddle.com/#!4/0c001

谁能做到这一点,还是我走上了死胡同?

【问题讨论】:

  • 谁投票结束,请您评论一下您的理性吗?
  • 我也不明白。可以说这更不合理:)

标签: sql oracle function sqlfiddle


【解决方案1】:

不带参数的函数在名称后没有任何(空)括号

http://sqlfiddle.com/#!4/0c001/5

您可以查询 sys.user_errors 表以获取编译错误列表。 “无效状态”表示代码没有编译

【讨论】:

    猜你喜欢
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    相关资源
    最近更新 更多