首页 > 解决方案 > 无法在 Oracle SQL(SQL Fiddle)中声明变量

问题描述

当我运行声明查询时,它总是给我错误。

DECLARE
   the_variable date;
BEGIN
   SELECT MIN("Start Date") INTO the_variable FROM "Employee_Master";
END;

ORA-06550:第 2 行,第 20 列:PLS-00103:在预期以下情况之一时遇到符号“文件结尾”: := 。( @ % ; 不是具有默认字符的空范围。

我不确定问题出在哪里。

标签: oracleplsqlsqlfiddle

解决方案


对我来说没问题:

SQL> create table "Employee_Master" ("Start Date" date);

Table created.

SQL> insert into "Employee_Master" values (sysdate);

1 row created.

SQL> declare
  2    the_variable date;
  3  begin
  4    select min("Start Date") into the_variable
  5      from "Employee_Master";
  6  end;
  7  /

PL/SQL procedure successfully completed.

SQL>

虽然,为什么,哦,你为什么要让你的生活变得悲惨?使用 Oracle 时避免使用双引号。如果你这样做,你总是必须使用双引号和匹配的字母大小写来引用表(和列),就像在创建过程中一样。

默认情况下,Oracle 将所有内容都存储为大写,但您可以以任何您想要的方式引用这些对象(大写、小写、混合大小写 - 无关紧要)。但是,正如我所说,使用双引号 - 需要完全匹配。


顺便说一句,您附上的屏幕截图显示了很多什么都没有,只有一点点。不能截个更好的截图吗?


推荐阅读