一 IF..THEN
IF condition 
THEN
   statements 1;
   statements 
2;
   ....
END IF;
二 
IF..THEN...ELSE
IF condition 
THEN
   statements 1;
   statements 
2;
   ....
ELSE
   statements 
1;
   statements 2;
   ....
END 
IF;
三 IF..THEN..ELSIF
IF condition1 
THEN
   statement1;
ELSIF condition2 
THEN
   statement2;
ELSIF condition3 
THEN
   statement3;
ELSE
   statement4;
END 
IF;
四 LOOP
LOOP和END 
LOOP之间的语句将无限次的执行。
LOOP 
   statements;
END 
LOOP;
这显然是不行的,必须使用EXIT语句,强制循环结束。
两种方式,第一,
X:=100;
LOOP
   X:=X+10;
   IF 
X>1000 
THEN
      EXIT;
   END 
IF
END 
LOOP;
Y:=X;
第二,
X:=100;
LOOP
X:=X+10;
EXIT 
WHEN X>1000;
X:=X+10;
END LOOP;
Y:=X;
五 
WHILE..LOOP
X:=100;
WHILE X<=1000 LOOP
 X:=X+10;
END 
LOOP;
Y=X;
六 FOR...LOOP
FOR counter IN 
[REVERSE] start_range....end_range LOOP
statements;
END 
LOOP;
其中count为隐式声明的变量,初始值就是start_range
七 
GOTO
执行GOTO语句时,会立即转到由标签标记的语句。
ORACLE SQL条件语句和循环语句,布布扣,bubuko.com
原文:http://www.cnblogs.com/zuking/p/3632539.html