Oracle資料庫之SQL基礎和分支迴圈

來源:互聯網
上載者:User

標籤:class   數字   exit   oracle資料庫   不能   2-2   bms   分支   oop   

一、SQL基礎語言
DECLARE --聲明a varchar2(10); --變數或對象BEGIN  a:=‘小明‘;--  :=   表示給一個變數賦值  dbms_output.put_line(a); --輸出用 dbms_output.put_line()  END;
二、分支
DECLARE  --聲明  A NUMBER(10);  B NUMBER(10);BEGIN  A := 2;  B := 3;    IF A < B THEN    DBMS_OUTPUT.PUT_LINE(‘a小於b‘);  ELSIF A > B THEN --注意 ELSIF 的寫法    DBMS_OUTPUT.PUT_LINE(‘a大於b‘);  ELSE    DBMS_OUTPUT.PUT_LINE(‘a等於b‘);  END IF;  END;
三、迴圈第一種:(loop迴圈)
DECLARE  M NUMBER(5);  BEGIN  M := 5;    LOOP    EXIT WHEN M < 0;    DBMS_OUTPUT.PUT_LINE(M);    M := M - 1;  END LOOP;  END;

執行結果:
第二種:(while 迴圈)
DECLARE  M NUMBER(5);BEGIN  M := 5;  WHILE M > 0 LOOP   --while 迴圈    DBMS_OUTPUT.PUT_LINE(M);    M := M - 1;  END LOOP;END;

執行結果:

 

第三種:(for迴圈)
DECLAREBEGIN  FOR N IN 1 .. 5 LOOP    --for 迴圈只能遍曆像1~5這樣的有規律的數字    DBMS_OUTPUT.PUT_LINE(N);  END LOOP;END;

執行結果:
四、處理異常
DECLARE  M     NUMBER(10);  SNAME VARCHAR2(10);BEGIN  M := 5;  SELECT S.NAME INTO SNAME FROM Z_STUDENT S WHERE S.ID = M;  DBMS_OUTPUT.PUT_LINE(‘查詢結果:‘ || SNAME);END;

執行結果:

然後拋出異常  exception

DECLARE  M     NUMBER(10);  SNAME VARCHAR2(10);BEGIN  M := 50; --改個不存在的值  SELECT S.NAME INTO SNAME FROM Z_STUDENT S WHERE S.ID = M;  DBMS_OUTPUT.PUT_LINE(‘查詢結果:‘ || SNAME);EXCEPTION  --拋出異常  WHEN NO_DATA_FOUND THEN    DBMS_OUTPUT.PUT_LINE(‘沒有查詢到資料‘);  END;

執行結果:

再舉個例子:

DECLARE  --聲明  A NUMBER(10);  B NUMBER(10);  NOZERO EXCEPTION; --定義nozero  為異常類型BEGIN  A := 2;  B := 0;  IF A = 0 OR B = 0 THEN    RAISE NOZERO; --RAISE   拋出異常  END IF;  IF A < B THEN    DBMS_OUTPUT.PUT_LINE(‘a小於b‘);  ELSIF A > B THEN    --注意 ELSIF 的寫法    DBMS_OUTPUT.PUT_LINE(‘a大於b‘);  ELSE    DBMS_OUTPUT.PUT_LINE(‘a等於b‘);  END IF;EXCEPTION  WHEN NOZERO THEN    DBMS_OUTPUT.PUT_LINE(‘a和b都不能為0!‘);  WHEN OTHERS THEN    DBMS_OUTPUT.PUT_LINE(‘其他異常!‘);  END;

執行結果為:

 

Oracle資料庫之SQL基礎和分支迴圈

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.