文章目录
- Oracle存储过程的使用DEMO(一)
- 1. Oracle中块的使用
- 2. IF使用
- 2.1 IF...ELSE...
- 2.2 IF嵌套
- 3. CASE...WHEN...
- 4. LOOP
- 5. WHILE
- 6. FOR
Oracle存储过程的使用DEMO(一)
1. Oracle中块的使用
DECLAREI NUMBER;
BEGINSELECT EMPNO FETCH INTO I FROM EMP WHERE ENAME='SMITH';DBMS_OUTPUT.PUT_LINE(I);
END;
2. IF使用
2.1 IF…ELSE…
DECLAREI NUMBER := 9;
BEGIN--I := 10;IF I = 10 THENDBMS_OUTPUT.PUT_LINE('10');ELSIF I = 9 THENDBMS_OUTPUT.PUT_LINE('9');ELSEDBMS_OUTPUT.PUT_LINE('HEHE');END IF;
END;
2.2 IF嵌套
DECLAREI NUMBER := 5;
BEGINIF I < 7 THENDBMS_OUTPUT.PUT_LINE('Y');IF I < 6 THENDBMS_OUTPUT.PUT_LINE('A');END IF;ELSIF I < 8 THENDBMS_OUTPUT.PUT_LINE('N');ELSEDBMS_OUTPUT.PUT_LINE('EE');END IF;
END;
3. CASE…WHEN…
DECLAREL_DAY NUMBER := 2;
BEGINCASE WHEN L_DAY < 2 THEN DBMS_OUTPUT.PUT_LINE('MON');WHEN L_DAY < 3 THEN DBMS_OUTPUT.PUT_LINE('TUE');WHEN L_DAY < 4 THEN DBMS_OUTPUT.PUT_LINE('WED');ELSE DBMS_OUTPUT.PUT_LINE('HAHA');END CASE;
END;
4. LOOP
从1开始,每循环一次加1输出,知道10时候停止
- 使用when退出
DECLAREI NUMBER := 1;
BEGINLOOPI := I + 1;DBMS_OUTPUT.PUT_LINE(I);EXIT WHEN I=10;END LOOP;
END;
2. 使用if退出
DECLAREI NUMBER := 1;
BEGINLOOPI := I + 1;DBMS_OUTPUT.PUT_LINE(I);IF I = 10 THENEXIT;END IF;END LOOP;
END;
5. WHILE
打印出1到10的值
DECLAREI NUMBER := 1;
BEGINWHILE I <= 10 LOOPDBMS_OUTPUT.PUT_LINE(I);I := I + 1;END LOOP;
END;
6. FOR
- 打印1到10
DECLAREI NUMBER;
BEGINFOR I IN 1..10 LOOPDBMS_OUTPUT.PUT_LINE(I);END LOOP;
END;
- 打印10到1
DECLAREI NUMBER;
BEGINFOR I IN REVERSE 1..10 LOOPDBMS_OUTPUT.PUT_LINE(I);END LOOP;
END;