標籤:
一、pl/sql developer開發工具
pl/sql developer是用於開發pl/sql塊的整合式開發環境(ide),它是一個獨立的產品,而不是oracle的一個附帶品。
二、pl/sql介紹
開發人員使用pl/sql編寫應用模組時,不僅需要掌握sql語句的編寫方法,還要掌握pl/sql語句及文法規則。pl/sql編程可以使用變數和邏輯控制語句,從而可以編寫非常有用的功能模組。比如:分頁預存程序模組、訂單處理預存程序模組、轉賬預存程序模組。而且如果使用pl/sql編程,我們可以輕鬆地完成非常複雜的查詢要求。
三、pl/sql可以做什麼
可以用來編寫預存程序、函數、觸發器、包等
四、編寫規範
五、pl/sql塊介紹
塊(block)是pl/sql的基本程式單元,編寫pl/sql程式實際上就是編寫pl/sql塊,要完成相對簡單的應用功能,可能只需要編寫一個pl/sql塊,但是如果想要實現複雜的功能,可能需要在一個pl/sql塊中嵌套其它的pl/sql塊。
六、塊結構
pl/sql塊由三個部分構成:定義部分,執行部分,例外處理部分。
如下所示:
declare
/*定義部分——定義常量、變數、遊標、例外、複雜資料類型*/
begin
/*執行部分——要執行的pl/sql 語句和sql 語句*/
exception
/*例外處理部分——處理啟動並執行各種錯誤*/
end;
說明:
定義部分是從declare開始的,該部分是可選的;
執行部分是從begin開始的,該部分是必須的;
例外處理部分是從exception開始的,該部分是可選的。
可以和java編程結構做一個簡單的比較。
七、pl/sql塊的執行個體一
執行個體一 只包括執行部分的pl/sql塊
set serveroutput on; --開啟輸出選項
begin
dbms_output.put_line(‘hello world‘);
end;
/ --執行
相關說明:
dbms_output是oracle所提供的包(類似java 的開發包),該包包含一些過程,put_line就是dbms_output包的一個過程。
八、pl/sql塊的執行個體二
執行個體二 包含定義部分和執行部分的pl/sql塊
set serveroutput on; --開啟輸出選項
DECLARE
--定義字串變數
v_ename varchar2(10);
BEGIN
--執行部分
select ename into v_ename from emp where empno=&empno; --& 表示要接收從控制台輸入的變數
--在控制台顯示僱員名
dbms_output.put_line(‘僱員名:‘||v_ename);
end;
/
九、pl/sql塊的執行個體三
執行個體三 包含定義部分,執行部分和例外處理部分
為了避免pl/sql程式的運行錯誤,提高pl/sql的健壯性,應該對可能的錯誤進行處理,這個很有必要。
1.比如在執行個體二中,如果輸入了不存在的僱員號,應當做例外處理。
2.有時出現異常,希望用另外的邏輯處理,我們看看如何完成1的要求。
相關說明:oracle事先預定義了一些例外,no_data_found就是找不到資料的例外
--開啟輸出選項
set serveroutput on;
DECLARE
--定義字串變數
v_ename varchar2(10);
v_sal NUMBER(7,2);
BEGIN
--執行部分
select ename, sal into v_ename, v_sal from emp where empno=&empno;
dbms_output.put_line(‘僱員名:‘||v_ename||‘,薪水:‘||v_sal);
EXCEPTION
--異常處理
WHEN no_data_found THEN dbms_output.put_line(‘朋友,您的編號輸入有誤!‘);
end;
/
二十、oracle pl/sql基礎