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;
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号