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
相关产品推荐
相关产品推荐

