二十、oracle pl/sql基礎


一、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;
/

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM