对Oracle SQL Developer中 &变量的学习

开始

&加变量,为的是在运行前给出提示,要求用户输入数据。看例子:

DECLARE
  v_grade CHAR(1) := UPPER( '&grade');
  v_app VARCHAR2(20);
  
BEGIN
  v_app :=
     CASE
        WHEN v_grade='A' THEN 'Excellent'
        WHEN v_grade='B' THEN 'Very Good'
        ELSE 'No such grade'
     END;
  DBMS_OUTPUT.put_line('Grade:' ||v_grade || ' App:' || v_app);
END;
/

运行的时候,会提示grade的信息,如果我给出了 S。则运行结果如下:

old:DECLARE
  v_grade CHAR(1) := UPPER( '&grade');
  v_app VARCHAR2(20);
  
BEGIN
  v_app :=
     CASE
        WHEN v_grade='A' THEN 'Excellent'
        WHEN v_grade='B' THEN 'Very Good'
        ELSE 'No such grade'
     END;
  DBMS_OUTPUT.put_line('Grade:' ||v_grade || ' App:' || v_app);
END;
new:DECLARE
  v_grade CHAR(1) := UPPER( 'S');
  v_app VARCHAR2(20);
  
BEGIN
  v_app :=
     CASE
        WHEN v_grade='A' THEN 'Excellent'
        WHEN v_grade='B' THEN 'Very Good'
        ELSE 'No such grade'
     END;
  DBMS_OUTPUT.put_line('Grade:' ||v_grade || ' App:' || v_app);
END;
anonymous block completed
Grade:S App:No such grade

结束