Oracle:控制语句 IF..ELSIF语句、CASE语句、FOR循环语句

--多重if语句(注意点:BEGIN END ,IF 条件 THEN,ELSIF 条件 THEN,ELSE... END IF
BEGIN
  IF FALSE THEN
    DBMS_OUTPUT.put_line('执行if语句...');
  ELSIF TRUE THEN
    DBMS_OUTPUT.put_line('执行ELEIF1语句...');
  ELSIF TRUE THEN
    DBMS_OUTPUT.put_line('执行ELEIF2语句...');
  ELSIF FALSE THEN
    DBMS_OUTPUT.put_line('执行ELEIF3语句...');
  END IF;
END;

--百分制成绩转化为五分制成绩,并打印输出
DECLARE
  v_score NUMBER(3) :='&score';
BEGIN
  IF v_score>90 THEN
    DBMS_OUTPUT.put_line('A');
  ELSIF v_score>80 THEN
    DBMS_OUTPUT.put_line('B');
  ELSIF v_score>70 THEN
    DBMS_OUTPUT.put_line('C');
  ELSIF v_score>60 THEN
    DBMS_OUTPUT.put_line('D');
  ELSE
    DBMS_OUTPUT.put_line('E');
  END IF;
END;

--case案例演示(注意点:BEGIN END,CASE 主语,WHEN 条件 THEN,ELSE...,END CASE
DECLARE
  v_light VARCHAR2(10) :='&light';
BEGIN
  CASE v_light
  WHEN '红灯' THEN
    DBMS_OUTPUT.put_line('停');
  WHEN '绿灯' THEN
    DBMS_OUTPUT.put_line('行');
  WHEN '黄灯' THEN
    DBMS_OUTPUT.put_line('等');
  ELSE
    DBMS_OUTPUT.put_line('您输入的信息有误。。');
  END CASE;
END;

--FOR循环(注意点:BEGIN END,LOOP..EXIT WHEN TRUE..END LOOP
BEGIN
  LOOP
    DBMS_OUTPUT.put_line('信息...');
  EXIT WHEN TRUE;
  END LOOP;
END;

--让上面的循环执行5次
DECLARE
  v_i NUMBER(10) :=0;
BEGIN
  LOOP
    DBMS_OUTPUT.put_line('信息...');
    v_i := v_i + 1;
  EXIT WHEN v_i=5;
  END LOOP;
END;

原文地址:https://www.cnblogs.com/createboke/p/6666475.html