oracle - 无法在 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:在预期以下情况之一时遇到符号“文件结尾”: := 。( @ % ; 不是具有默认字符的空范围。
我不确定问题出在哪里。
解决方案
对我来说没问题:
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 将所有内容都存储为大写,但您可以以任何您想要的方式引用这些对象(大写、小写、混合大小写 - 无关紧要)。但是,正如我所说,使用双引号 - 需要完全匹配。
顺便说一句,您附上的屏幕截图显示了很多什么都没有,只有一点点。不能截个更好的截图吗?
推荐阅读
- c# - xamarin stacklayout child 删除自己
- amazon-web-services - 在 DynamoDB 中同时(同一秒)发生多个读取或写入请求时会发生什么?
- azure - 使用 Terraform 的 Azure 容器注册表权限
- ios - Swift bool 数据未传递到 tableview 单元格
- django - Django:在 ModelForm 上注入表单验证,而不是 Model
- python - 使用 Pandas 将 CSV 文件连接在一起
- sql - AWS Athena 中的特殊字符显示为问号
- php - 解析错误:语法错误,第 49 行文件意外结束
- angular - 如何将 Angular 组件渲染为控件
- python - 如何从同一行中提取冒号分隔的值?