溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle 筆記(七)、PL/SQL 基礎

發布時間:2020-06-12 15:51:04 來源:網絡 閱讀:480 作者:qvodnet 欄目:關系型數據庫

一、概述、PL/SQL 塊結構
PL/SQL 是Oracle產品對 SQL 語言的擴展。PL/SQL 塊共分為三個部分:聲明部分、可執行部分、異常部分。

DECLARE
    ...
BEGIN
    ...
EXCEPTION
    ...
END;

變量聲明內容:賦予變量適當的名稱、數據類型、定義變量(標準,記錄)、控制變量范圍。
變量命名規則:變量以字符開頭;可包含數字、下劃線、$、#;長度范圍 1~30;不區分大小寫;不能使用系統關鍵字。

ps.在 PL/SQL 常用的命令:
1、打開輸出開關            SET SERVEROUTPUT ON ;
2、利用系統包輸出信息     DBMS_OUTPUT.PUT_LINE('x 的值是:' || x);


二、控制結構

1、分支語句
a、IF 分支

IF ... THEN 
    ...
ELSEIF ...THEN
    ...
ELSE
    ...
END IF;


b、CASE 分支

CASE 
    WHEN ... THEN
        ...
    ELSE
        ...
END CASE;


2、循環語句
a、基本循環(LOOP)

無條件循環,為避免進入無限循環,LOOP 循環的語句必須使用 EXIT 或 EXIT WHEN 語句。

LOOP
    ...
END LOOP;


b、WHILE 循環

WHILE condition LOOP
    ...
END LOOP;


c、FOR 循環

FOR counter IN [REVERSE] start..end 
LOOP
    ...
END LOOP;


3、順序控制
GOTO 語句:無條件的將控制權轉到標簽指定的語句。
NULL 語句:什么也不做,只是將控制權轉到下一條語句,用于語句結構需要,但什么也不需要操作的情況下。

GOTO xxxx;
      ...
<<xxxx>>
NULL;



三、異常
系統異常(預定義異常)

EXCEPTION 
    WHEN xxxx THEN
        ....


自定義異常

DECLARE
    -- 自定義異常
    xxxxx EXCEPTION;
BEGIN
    -- 顯式引發異常
    RAISE xxxxx
EXCEPTION
    -- 異常處理
    WHEN xxxxx THEN
        ....
END;  



四、復合變量(記錄)
記錄是由幾個相關值構成的復合變量,常用于支持 SELECT 語句的返回值。使用記錄可以將一行數據并到一個單元進行處理,而不必將每一列單獨處理。

DECLARE
    TYPE myrecord IS RECORD(id varchar2(10), name varchar2(10));
    real_record myrecord;
BEGIN
    -- SELECT .. INTO 賦值語句
    SELECT emp_id, emp_name INTO real_record FROM emp WHERE emp_id='001';
    .....
END;


或者 可以利用屬性類型來引用變量或者數據庫中某列的數據類型。

  ● 聲明變量 icode,引用表中某列 emp.id 的數據類型
    icode emp.id%TYPE;

  ● 聲明變量 emp_rec 引用表 emp 中所有列記錄類型
    emp_rec emp%ROWTYPE;


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女