sql - SP2-0552:未声明绑定变量“N3”
问题描述
这是用于比较三个数字并打印最大值的代码。
declare
n1 number(2);
n2 number(2);
n3 number(2);
begin
n1:=&n1;
n2:=&n2:
n3:=&n3;
if n1>n2 and n1>n3 then
dbms_output.put_line('The greatest number is n1 '||n1);
else if n2>n1 and n2>n3 then
dbms_output.put_line('The greatest number is n2 '||n2);
else
dbms_output.put_line('The greatest number is n3 '||n3);
end if;
end;
/
当我尝试在 oracle 中运行这个 pl sql 代码时,它说
old 6: n1:=&n1;
new 6: n1:=4;
Enter value for n2: 5
old 7: n2:=&n2:
new 7: n2:=5:
Enter value for n3: 6
old 8: n3:=&n3;
new 8: n3:=6;
SP2-0552: Bind variable "N3" not declared.
你能告诉我哪里错了吗???我将不胜感激
解决方案
您有 3 个错误(错别字):
DECLARE
在开始声明变量之前,您需要关键字。n2:=&n2:
应该n2:=&n2;
else if
应该是elsif
(或者,如果你想保留,else if
那么你需要一秒钟end if;
来终止第二if
条语句)
DECLARE
n1 number(2);
n2 number(2);
n3 number(2);
begin
n1:=&n1;
n2:=&n2;
n3:=&n3;
if n1>n2 and n1>n3 then
dbms_output.put_line('The greatest number is n1 '||n1);
elsif n2>n1 and n2>n3 then
dbms_output.put_line('The greatest number is n2 '||n2);
else
dbms_output.put_line('The greatest number is n3 '||n3);
end if;
end;
/
推荐阅读
- docker - docker-compose.yml nginx 与 php 链接
- visual-studio - 试图从另一个脚本访问变量
- typo3 - 如何设置用于 TCA/Overrides 的配置或如何配置 sys 类别?
- python - 找不到文件或目录,即使它存在
- python - Celery 4.2.1 (windowlicker) 在 Linux 中不抛出异常
- kubernetes - 如何使用基于应用程序名称的单独日志流将 Kubernetes (EKS) 日志推送到 Cloudwatch 日志
- java - 将从不同网页抓取的数据附加到数组列表中
- python - 如何知道脚本是否在 Spyder 或任何其他 Python IDE 中运行?
- python - 使用 Python 读取大 JSON 文件时出错:“json.decoder.JSONDecodeError: Expecting ',' delimiter”
- python - 以编程方式创建 Amazon MTurk HITLayout 并获取 HITLayoutId?