文章目录
- 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中块的使用
DECLARE
I NUMBER;
BEGIN
SELECT EMPNO FETCH INTO I FROM EMP WHERE ENAME='SMITH';
DBMS_OUTPUT.PUT_LINE(I);
END;
2. IF使用
2.1 IF…ELSE…
DECLARE
I NUMBER := 9;
BEGIN
--I := 10;
IF I = 10 THEN
DBMS_OUTPUT.PUT_LINE('10');
ELSIF I = 9 THEN
DBMS_OUTPUT.PUT_LINE('9');
ELSE
DBMS_OUTPUT.PUT_LINE('HEHE');
END IF;
END;
2.2 IF嵌套
DECLARE
I NUMBER := 5;
BEGIN
IF I < 7 THEN
DBMS_OUTPUT.PUT_LINE('Y');
IF I < 6 THEN
DBMS_OUTPUT.PUT_LINE('A');
END IF;
ELSIF I < 8 THEN
DBMS_OUTPUT.PUT_LINE('N');
ELSE
DBMS_OUTPUT.PUT_LINE('EE');
END IF;
END;
3. CASE…WHEN…
DECLARE
L_DAY NUMBER := 2;
BEGIN
CASE 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退出
DECLARE
I NUMBER := 1;
BEGIN
LOOP
I := I + 1;
DBMS_OUTPUT.PUT_LINE(I);
EXIT WHEN I=10;
END LOOP;
END;
2. 使用if退出
DECLARE
I NUMBER := 1;
BEGIN
LOOP
I := I + 1;
DBMS_OUTPUT.PUT_LINE(I);
IF I = 10 THEN
EXIT;
END IF;
END LOOP;
END;
5. WHILE
打印出1到10的值
DECLARE
I NUMBER := 1;
BEGIN
WHILE I <= 10 LOOP
DBMS_OUTPUT.PUT_LINE(I);
I := I + 1;
END LOOP;
END;
6. FOR
- 打印1到10
DECLARE
I NUMBER;
BEGIN
FOR I IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(I);
END LOOP;
END;
- 打印10到1
DECLARE
I NUMBER;
BEGIN
FOR I IN REVERSE 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(I);
END LOOP;
END;