1. 程式人生 > >Oracle流程控制語句

Oracle流程控制語句

控制 space reverse logs 2.3 1.2 流程控制語句 case ora

1.選擇語句

1.1 IF...THEN...END IF語句

DECLARE MY_AGE INT;
IF MY_AGE IS NULL THEN 
     DBMS_OUTPUT.put_line(‘AGE IS NULL‘); 
END IF;

  

1.2 IF...THEN ELSIF THEN....ELSE THEN... ENDIF語句,這裏需要註意的是ELSIF這個,JAVA裏面的寫法就是 else if 這裏是ELSIF,IF前面不能有空格。

IF AGE <= 6 AND AGE > 0 THEN
    DBMS_OUTPUT.put_line(‘CHILD‘);
  ELSIF AGE <= 17 AND AGE > 6 THEN
    DBMS_OUTPUT.put_line(‘TEENAGER‘); 
  ELSIF AGE <= 40 AND AGE > 17 THEN
    DBMS_OUTPUT.put_line(‘YOUTH‘); 
  ELSIF AGE <= 65 AND AGE > 40 THEN
    DBMS_OUTPUT.put_line(‘Middle-aged‘); 
  ELSIF AGE > 65 AND AGE<= 150 THEN
    DBMS_OUTPUT.put_line(‘OLDER‘); 
  ELSE 
    DBMS_OUTPUT.put_line(‘YOU AGE IS OUT OF SPACE‘); 
  END IF;

1.3.CASE 語句

CASE AGE
    WHEN 1 THEN  DBMS_OUTPUT.put_line(‘BABY‘);
    WHEN 15 THEN  DBMS_OUTPUT.put_line(‘TEENAGER‘);
    WHEN 25 THEN  DBMS_OUTPUT.put_line(‘ADULT‘);
    ELSE DBMS_OUTPUT.put_line(‘OLDER‘);
   END CASE;
   END;

2.循環語句

2.1 LOOP 語句

DECLARE RESULT NUMBER:=0;
NUM1 NUMBER:=1;
NUM2 NUMBER:=100;


 LOOP
    RESULT:=RESULT+NUM1;
    NUM1:=NUM1+1;
    EXIT WHEN NUM1>NUM2;
  END LOOP;
  
  DBMS_OUTPUT.put_line(‘LOOP RESUT IS:‘||RESULT);

2.2 WHILE語句

 WHILE NUM1<=NUM2 LOOP
    RESULT:=RESULT+NUM1;
    NUM1:=NUM1+1;
  END LOOP;
  DBMS_OUTPUT.put_line(RESULT);

2.3 FOR語句

FOR J IN REVERSE NUM1..NUM2 LOOP
    RESULT:=RESULT+J;
    DBMS_OUTPUT.put_line(J);
  END LOOP;
  DBMS_OUTPUT.put_line(RESULT);

  

Oracle流程控制語句