【问题标题】: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.

【问题讨论】:

    标签: sql oracle plsql sqlplus


    【解决方案1】:

    你的块有两个问题:

    1. BEGIN 后面有一个冒号,它不应该在那里

    2. 在您的输出中有一个未声明的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;
    /
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-29
      • 2021-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多