【问题标题】:oracle PLS-00103 Error after executing a simple queryoracle PLS-00103 执行简单查询后出错
【发布时间】:2021-12-12 10:19:54
【问题描述】:

这是我在 Oracle SQL Developer 中运行的代码,接下来出现了错误: 这是一个非常简单的查询,那么它有什么问题呢?

DECLARE zero varchar(20);
DECLARE emptys;
begin
zero := '0';
emptys := null;
IF(emptys = zero)   then 
DBMS_OUTPUT.put_line('yes');
ELSE
dbms_output.Put_line('no'); 
end if;
end;
    

从第 1 行开始的错误命令 - 声明零 varchar(20); 声明为空; 开始 零:='0'; 清空 := null;

IF(emptys = zero)   then 
DBMS_OUTPUT.put_line('yes');
ELSE
dbms_output.Put_line('no'); 
end if;

结束;

错误报告 - ORA-06550:第 2 行,第 5 列: PLS-00103:在预期以下情况之一时遇到符号“DECLARE”:

开始函数杂注过程子类型类型 当前光标删除 先于存在 在“DECLARE”之前插入符号“begin”以继续。 ORA-06550:第 13 行,第 74 列: PLS-00103:在预期以下情况之一时遇到符号“文件结尾”:

( begin case declare end exception exit for goto if loop mod null pragma raise return select update while with

【问题讨论】:

    标签: oracle pls-00103


    【解决方案1】:

    DECLARE 表示变量声明部分的开始。你只有一个这样的部分。您不会为您声明的每个变量重复该关键字。

    您没有为变量emptys 提供数据类型。我假设你希望它是varchar2(20)

    DECLARE 
      zero varchar(20);
      emptys varchar2(20);
    begin
      zero := '0';
      emptys := null;
      IF(emptys = zero)   then 
        DBMS_OUTPUT.put_line('yes');
      ELSE
        dbms_output.Put_line('no'); 
      end if;
    end;
        
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      相关资源
      最近更新 更多