【问题标题】:success with compilation error on Function creation, why?函数创建时编译错误成功,为什么?
【发布时间】:2016-12-07 11:46:31
【问题描述】:

我尝试在 Oracle Apex 5,SQL 命令中创建此函数,并导致此错误“ORA-24344:编译错误成功。”你为什么这么认为?我正在尝试创建一个随机生成的代码。

CREATE OR REPLACE FUNCTION generate_code()
    return varchar2
    AS
    code varchar2;
    BEGIN
    code := DBMS_RANDOM.value(1,100);
    return code;
    END;

【问题讨论】:

    标签: oracle plsql oracle-apex oracle-apex-5


    【解决方案1】:

    语法错误,见下文

    正确的语法是

    CREATE OR REPLACE FUNCTION generate_code
    
        return varchar2
        AS
        code varchar2(100);
        BEGIN
        code := DBMS_RANDOM.value(1,100);
        return code;
        END;
    

    带有错误描述的原始语法:

    SQL> CREATE OR REPLACE FUNCTION generate_code()
      2
      3      return varchar2
      4      AS
      5      code varchar2;
      6      BEGIN
      7      code := DBMS_RANDOM.value(1,100);
      8      return code;
      9      END;
     10
     11  /
    
    Warning: Function created with compilation errors.
    
    SQL> show error
    Errors for FUNCTION GENERATE_CODE:
    
    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    1/24     PLS-00103: Encountered the symbol ")" when expecting one of the
             following:
             <an identifier> <a double-quoted delimited-identifier>
             current delete exists prior
    

    【讨论】:

    • 您先生真了不起!谢谢,我的问题已经解决了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    • 1970-01-01
    相关资源
    最近更新 更多