天天看點

再學·Oracle-資料庫-04

PLSQL程式設計:procedure Language 過程語言

     PLSQL程式設計是Oracle對sql的一個擴充,讓我們可以像在java 中 寫 if else   else if ,還可以寫相應的循環邏輯。

   文法:

  declare

     --聲明變量 

     變量名 變量類型

       vsal emp.sal%type; 聲明和emp表裡邊的sal字段一樣類型的變量。

  begin

     --編寫業務邏輯

  end;

再學·Oracle-資料庫-04

 循環: while  for  loop

  while  條件  loop 

   end loop;

再學·Oracle-資料庫-04

  for  i  in  1..10 loop

  end loop;

再學·Oracle-資料庫-04

 異常:

再學·Oracle-資料庫-04

存儲過程:

 實際上是封裝在伺服器上的一段OLSQL代碼片段, 已将編譯好的代碼片段,用戶端調用存儲過程,效率就會非長高效。

文法:create {or replace } procedure  存儲過程的名稱(參數名 in|out 參數類型,參數名 in|out 參數類型);

           is|as 

            聲明部分

           begin

             業務邏輯部分

             end;

下邊定義一個存儲過程個給指定員工漲工資:

再學·Oracle-資料庫-04

 調用存儲過程:

再學·Oracle-資料庫-04

 存儲函數:

 實際上是一段封裝好的在Oracle伺服器上的一段PLSQL代碼片段,它是編譯好的代碼片段。

文法:create {or replace } function 存儲函數的名稱(參數名 參類型數 in|out,參數名 參類型數 in|out) return 

            is|as

           begin

           end;

存儲過程和存儲函數的差別,他們本質上沒有差別,存儲函數的存在意義是給存儲過程調用的

再學·Oracle-資料庫-04

觸發器:

當使用者執行了insert update  delete 這些操作之後,可以觸發一些其他的作業 

文法:create  or replace  triger  觸發器的名稱   

          before | after 

          insert | update  |delete

           on  表名

          declare

          degin

          end

繼續閱讀