oracle PLS-00103 执行简单查询后出错
oracle PLS-00103 Error after executing a simple query
这是我在 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”:
begin function pragma procedure subtype 类型
当前光标删除
先验存在
在“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
<< 继续关闭当前删除获取锁
insert open rollback savepoint set sql execute commit forall
合并管道清除 json_exists json_value json_query
json_object json_array
06550.00000 - “行 %s,列 %s:\n%s”
*原因:通常是 PL/SQL 编译错误。
*行动:
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;
这是我在 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”:
begin function pragma procedure subtype 类型 当前光标删除 先验存在 在“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 << 继续关闭当前删除获取锁 insert open rollback savepoint set sql execute commit forall 合并管道清除 json_exists json_value json_query json_object json_array 06550.00000 - “行 %s,列 %s:\n%s” *原因:通常是 PL/SQL 编译错误。 *行动:
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;