You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PLS-00103错误求助:Oracle包体demo1编译报错解决

Oracle包体demo1编译PLS-00103错误解决

错误原因分析

  • 第二个max存储过程中误用了else if,Oracle PL/SQL的多分支判断正确写法是elsif(无空格)。原写法会被解析为else块内嵌套独立的if语句,导致语法结构不完整,缺少对应的end if,触发报错。
  • DBMS_OUTPUT.put_line被错误添加了空格,写成DBMS _ output . put _ line,这种写法会被识别为无效标识符,破坏语法结构。

修正后的包体代码

create or replace package body demo1 is
procedure max(a number , b number) as
    begin
        if a > b then
            DBMS_OUTPUT.put_line('A Is Max..!');
        else
            DBMS_OUTPUT.put_line('B Is Max..!');
        end if;
    end;
procedure max(a number , b number , c number) as
    begin
        if a > b and a > c then
            DBMS_OUTPUT.put_line('A Is Max..!');
        elsif b > c then
            DBMS_OUTPUT.put_line('B Is Max..!');
        else
            DBMS_OUTPUT.put_line('C Is Max..!');
        end if;
    end;
end demo1;
/

内容的提问来源于stack exchange,提问作者Om J Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 00:55:20