一、writing Control Structures;
1、顺序、分支判断、循环
二、Controlling Flow of Execution
IF .... THEN......END IF;
IF ......THEN......ELSE......END IF;
IF.......THEN......[ ELSIF..........THEN ] [ ELSE ....] END IF;
三、if 中的条件condition 返回值有三种 true、false 、null 注意condition 的返回值
只有结果为true 是执行其下的then 否则[ condition is false or null ]执行 其他的else/esleif ;
DELCLARE
V_MYAGE NUMBER;
BEGIN
-- IF V_MYAGE IS NOT NULL THEN
-- IF V_MYAGE < 11 THEN
IF V_MYAGE IS NULL THEN
DBMS_OUTPUT.PUT_LINE( ' I AM A CHILD');
ELSE
DBMS_OUTPUT.PUT_LINE('I AM NOT A CHILD');
END IF;
END;
四、case expressions
case selector
when expression1 then result1
when expression2 then result2
end;
1.例子如下: &v_grad 需要手动输入v_grad的值;
SET VERIFY OFF;
DECLARE
V_GRAD CHAR(1) := UPPER('&V_GRAD');
V_APPRAISAL VARCHAR(20);
BEGIN
V_APPRAISAL := CASE V_GRAD
WHEN 'A' then 'excellent'
when 'B' then 'very good'
when 'C' then 'good'
else 'no such grade'
end;
dbms_output.put_line('grade :' || V_GRAD || 'appraisal '|| v_appraisal);
end;
五、case statement
case a
when a=1 then .....
when a=2 then ...
end case;
六、The difference between case expression and case statement :http://blog.csdn.net/ssqtjffcu1/article/details/8189114