Oracle數據庫在SQL的基礎上提供了自己的開發語言PL/SQL。通過使用PL/SQL可以開發強大的應用程序,並且能夠進一步開發Oracle的存儲過程、存儲函數和Oracle數據庫的觸發器。百度百科中對PL/SQL做了如下的説明:
PL/SQL也是一種程序語言,叫做過程化SQL語言(Procedural Language/SQL)。PL/SQL是Oracle數據庫對SQL語句的擴展。在普通SQL語句的使用上增加了編程語言的特點,所以PL/SQL把數據操作和查詢語句組織在PL/SQL代碼的過程性單元中,通過邏輯判斷、循環等操作實現複雜的功能或者計算。
| 點擊這裏查看視頻講解:【趙渝強老師】Oracle數據庫的PL/SQL編程語言 |
PL/SQL程序的基本結構如下所示:
declare
説明部分
begin
程序體部分
exception
例外處理部分
end;
/
# 其中:
# 説明部分包括:變量常量的説明、遊標的申明和例外的申明。
# 程序體部分包括:DML語句序列、條件判斷語句和循環語句等。
# 例外處理部分包括:如何處理程序體部分產生例外的語句序列。
在瞭解了PL/SQL的基本內容後,下面的步驟將開發第一個Oracle數據庫的PL/SQL程序。該程序將在屏幕上輸出”Hello World“的字符串。 (1)使用c##scott用户登錄數據庫。
SQL> conn c##scott/tiger
(2)在SQL*Plus命令行中直接書寫PL/SQL程序,打印Hello World。程序代碼如下:
SQL> declare
--説明部分
begin
--程序體
dbms_output.put_line('Hello World');
end;
/
# 輸入回車後執行PLSQL程序。輸出的信息如下:
PL/SQL procedure successfully completed.
# 在輸出的信息中沒有打印Hello World。這是因為在默認情況下,
# Oracle數據庫服務器輸出是關閉的,需要手動將其打開。
(3)打開Oracle服務器的輸出開關。
SQL> set serveroutput on
(4)在SQL*Plus輸入一個右斜線重新執行第(1)步中的PL/SQL程序。
SQL> /
# 輸出的信息如下:
Hello World
PL/SQL procedure successfully completed.
(5)在SQL*Plus命令行中可以開發並執行PL/SQL程序,但是使用起來並不是很方便。藉助Oracle SQL Developer可以更好地開發、運行和調試PL/SQL的應用程序。下圖展示了在Oracle SQL Developer中運行PL/SQL應用程序的效果。