为啥会显示“SP2-0552:未声明绑定变量“SEL”。”在 sql 加?
Posted
技术标签:
【中文标题】为啥会显示“SP2-0552:未声明绑定变量“SEL”。”在 sql 加?【英文标题】:Why is this showing "SP2-0552: Bind variable "SEL" not declared." in sql plus?为什么会显示“SP2-0552:未声明绑定变量“SEL”。”在 sql 加? 【发布时间】:2020-10-01 09:47:44 【问题描述】:SQL> DECLARE
2 SEL NUMBER(3);
3 ans VARCHAR(20);
4 BEGIN:
5 SEL := &SEL ;
6 CASE SEL
7 WHEN 1 THEN ans := 'SUNDAY';
8 WHEN 2 THEN ans := 'MONDAY';
9 WHEN 3 THEN ans := 'TUESDAY';
10 WHEN 4 THEN ans := 'WEDNESDAY';
11 WHEN 5 THEN ans := 'THURSDAY';
12 WHEN 6 THEN ans := 'FRIDAY';
13 WHEN 7 THEN ans := 'SATURDAY';
14
15 END CASE;
16 DBMS_OUTPUT.PUT_LINE(' CORRESPONDING DAY FOR THE NUMBER '||SEL||' IS '||DAY);
17 END;
18 /
Enter value for sel: 3
old 5: SEL := &SEL ;
new 5: SEL := 3 ;
SP2-0552: Bind variable "SEL" not declared.
【问题讨论】:
【参考方案1】:你的块有两个问题:
BEGIN
后面有一个冒号,它不应该在那里
在您的输出中有一个未声明的DAY
变量,它应该是变量ans
。
以下是工作版本:
DECLARE
SEL NUMBER(3);
ans VARCHAR(20);
BEGIN
SEL := &SEL ;
CASE SEL
WHEN 1 THEN ans := 'SUNDAY';
WHEN 2 THEN ans := 'MONDAY';
WHEN 3 THEN ans := 'TUESDAY';
WHEN 4 THEN ans := 'WEDNESDAY';
WHEN 5 THEN ans := 'THURSDAY';
WHEN 6 THEN ans := 'FRIDAY';
WHEN 7 THEN ans := 'SATURDAY';
END CASE;
DBMS_OUTPUT.PUT_LINE(' CORRESPONDING DAY FOR THE NUMBER '||SEL||' IS '||ans);
END;
/
【讨论】:
以上是关于为啥会显示“SP2-0552:未声明绑定变量“SEL”。”在 sql 加?的主要内容,如果未能解决你的问题,请参考以下文章