PLSQL中過程、函數、包、觸發器

1.  過程
     過程用於執行特定的操作,當建立過程時,既可以指定輸入參數(in),也可以指定輸出參數(out), 通過在過程中使用輸入參數,可以將數據傳遞到執行部分;通過使用輸出參數,可以將執行部分的數據傳遞到應用環境。在sqlplus中可以使用create procedure命令來建立過程。
實例如下:
(1). 請考慮編寫一個過程,可以輸入僱員名,新工資,可修改僱員的工資
(2). 如何調用過程有兩種方法; exec  call
(3). 如何在java程序中調用一個存儲過程
創建過程,代碼如下:

java程序中調用一個存儲過程

2.  函數
     函數用於返回特定的數據,當建立函數時,在函數頭部必須包含return子句。而在函數體內必須包含return語句返回的數據。我們可以使用create function來建立函數,實際案例:
  

      如果函數創建過程有編譯錯誤,可以使用show error;命令顯示錯誤
     在sqlplus中調用函數
     var income number  
     call annual_incomec('scott') into: income;  
     print income 
     var income number
     call annual_incomec('scott') into: income;
     print income
     同樣我們可以在java程序中調用該函數
     select annual_income('SCOTT') from dual;
     這樣可以通過rs.getInt(l)得到返回的結果。

3.  包
     包用於在邏輯上組合過程和函數,它由包規範和包體兩部分組成。
(1). 我們可以使用create package命令來創建包。  
  包的規範只包含了過程和函數的說明,但是沒有過程和函數的實現代碼。包體用於實現包規範中的過程和函數。

(2). 建立包體可以使用create package body命令 
  

(3). 如何調用包的過程或是函數
      當調用包的過程或是函數時,在過程和函數前需要帶有包名,如果要訪問其它方案的包,還需要在包名前加方案名。
      call sp_package.update_sal('SCOTT', 1500);
4.  觸發器
     觸發器是指隱含的執行的存儲過程。當定義觸發器時,必須要指定觸發的事件和觸發的操作,常用的觸發事件包括insert,update,delete語句,而觸發操作實際就是一個pl/sql塊。可以使用create trigger來建立觸發器。 
我們會在後面詳細爲大家介紹觸發器的使用,因爲觸發器是非常有用的,可維護數據庫的安全和一致性。

發佈了86 篇原創文章 · 獲贊 1 · 訪問量 46萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章