課程教師:李興華 課程學習者:陽光羅諾 日期:2018-07-28 知識點: 1、 瞭解PL/SQL的主要特點 2、 掌握PL/SQL塊的基本結構 PL/SQL PL/SQL是Oracle在關係資料庫結構化查詢語言SQL基礎上擴展得到的一種過程化查詢語言。 SQL與編程語言之間的不同之處在於,SQL ...
課程教師:李興華
課程學習者:陽光羅諾
日期:2018-07-28
知識點:
1、 瞭解PL/SQL的主要特點
2、 掌握PL/SQL塊的基本結構
PL/SQL
- PL/SQL是Oracle在關係資料庫結構化查詢語言SQL基礎上擴展得到的一種過程化查詢語言。
- SQL與編程語言之間的不同之處在於,SQL沒有變數,SQL沒有流程式控制制(分支、迴圈)。而PL/SQL是結構化的和過程化的結合體,而且最為重要的是,在用戶執行多條SQL語句時,每一條SQL語句都是逐一的發送給資料庫,而PL/SQL可以一次性將多條SQL語句一起發送給資料庫,減少網路流量問題。
- SQL執行 PL/SQL執行
PL/SQL語法結構
語法:
DECLARE
- 聲明部分,例如。定義變數、常量、游標。
BEGIN
- 程式編寫、SQL語句
EXECEPTION
- 處理異常
END:
/
說明:
- 聲明部分(DECLARE):包含變數定義、用戶定義的PL/SQL類型、游標、引用的函數或者過程。
- 執行部分(BEGIN):包含變數賦值、對象初始化、條件結構、迭代結構、嵌套的PL/SQL匿名塊,或者是對局部或者時存儲PL/SQL命名塊的調用。
- 異常部分:(EXECEPTION):包含錯誤處理語句,該語句可以像執行部分一樣所有使用項。
- 結束部分(END):程式執行到END表示結束,分號用於結束匿名塊,而正斜杠(/)執行塊程式。
PL/SQL——範例
編寫不做任何工作的Pl/SQL塊
1 BEGIN
2
3 NULL;
4
5 END;
6
7 /
此程式現在不做任何工作,只是出現了結構而已。
範例:輸出Hello World。
1 BEGIN
2
3 DBMS_OUTPUT.put_line('Hello World!');
4
5 END;
6
7 /
預設情況下,系統輸出的顯示屏幕時關閉的,所以需要修改顯示的設置。
1 SET SERVEROUTPUT ON;
打開之後再次執行就會顯示內容:
範例:編寫一個簡單的PL/SQL程式。
範例:輸入一個雇員編號,而後取得指定的雇員姓名。
1 DECLARE
2
3 v_eno NUMBER; --接收雇員編號
4
5 v_ename VARCHAR2(20); --接收雇員姓名
6
7 BEGIN
8
9 v_eno:=&empno; --由鍵盤輸入輸入
10
11 SELECT ename INTO v_ename FROM emp WHERE empno=v_eno;
12
13 DBMS_OUTPUT.put_line('雇員編號為:'||v_eno);
14
15 DBMS_OUTPUT.put_line('雇員的姓名為:'||v_ename);
16
17 END;
18
19 /
查詢結果如圖所示:
小結:
1、 PL/SQL可以同時向資料庫執行多條語句
2、 PL/SQL可以進行變數的定義與程式語言的編寫。