Oracle存储过程的使用DEMO(一)

文章目录

  • 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中块的使用

Oracle存储过程的使用DEMO(一)_第1张图片

DECLARE
  I NUMBER;
BEGIN
  SELECT EMPNO FETCH INTO I FROM EMP WHERE ENAME='SMITH';
  DBMS_OUTPUT.PUT_LINE(I);
END;

Oracle存储过程的使用DEMO(一)_第2张图片

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;

Oracle存储过程的使用DEMO(一)_第3张图片

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;

Oracle存储过程的使用DEMO(一)_第4张图片

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;

Oracle存储过程的使用DEMO(一)_第5张图片

4. LOOP

从1开始,每循环一次加1输出,知道10时候停止

  1. 使用when退出
DECLARE
  I NUMBER := 1;
BEGIN
  LOOP
    I := I + 1;
    DBMS_OUTPUT.PUT_LINE(I);
    EXIT WHEN I=10;
  END LOOP;
END;

Oracle存储过程的使用DEMO(一)_第6张图片
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;

Oracle存储过程的使用DEMO(一)_第7张图片

5. WHILE

打印出1到10的值

DECLARE
  I NUMBER := 1;
BEGIN
  WHILE I <= 10 LOOP
    DBMS_OUTPUT.PUT_LINE(I);
    I := I + 1;
  END LOOP;
END;

Oracle存储过程的使用DEMO(一)_第8张图片

6. FOR

  1. 打印1到10
DECLARE
  I NUMBER;
BEGIN
  FOR I IN 1..10 LOOP
    DBMS_OUTPUT.PUT_LINE(I);
  END LOOP;
END;

Oracle存储过程的使用DEMO(一)_第9张图片

  1. 打印10到1
DECLARE
  I NUMBER;
BEGIN
  FOR I IN REVERSE 1..10 LOOP
    DBMS_OUTPUT.PUT_LINE(I);
  END LOOP;
END;

Oracle存储过程的使用DEMO(一)_第10张图片

你可能感兴趣的:(#,Oracle,oracle,数据库)