<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      詳細說明oracle中存儲函數與存儲過程

      [摘要]在oracle中,函數和存儲過程是經常使用到的,他們的語法中有很多相似的地方,可是也有它們的不同之處,本文主要介紹了oracle中存儲函數與存儲過程的區別介紹,非常不錯,具有參考借鑒價值,需要的朋友...
      在oracle中,函數和存儲過程是經常使用到的,他們的語法中有很多相似的地方,可是也有它們的不同之處,本文主要介紹了oracle中存儲函數與存儲過程的區別介紹,非常不錯,具有參考借鑒價值,需要的朋友可以參考下,希望能幫助到大家。

      這段時間剛學完函數與存儲過程,來給自己做一個總結:

      一:存儲過程:簡單來說就是有名字的pl/sql塊。

      語法結構:

      create or replace 存儲過程名(參數列表)
        is
         --定義變量
        begin
         --pl/sql
        end;

      案例:

      create or replace procedure add_(a int,b int)
        is 
         c int;
        begin
         c:=a+b;
         dbms_output.put_line(c);
        end;

      調用存儲過程

       declare
        begin 
         add_(12,34);
        end;

      存儲過程的三種類型參數:

      輸入參數(默認) in

      輸出參數 out

      輸入輸出參數 in out

      函數定義

      語法結構:

       create or replace function 函數名(參數列表) return 類型
         is
         begin
         end;

      案例:

      create or replace function f1(n1 dec,n2 dec) return dec
         is
          r dec(19,2);
         begin
          r:=n1/n2;
          return r;
         exception
          when zero_pide then
           dbms_output.put_line('除數不能為0');
           return 0;
         end;

      存儲過程與存儲函數的區別和聯系:

      相同點:1.創建語法結構相似,都可以攜帶多個傳入參數和傳出參數;

      2.都是一次編譯,多次運行;

      不同點:1.存儲過程定義關鍵字用procedure,函數定義用function;

      2.存儲過程中不能用return返回值,但函數中可以,而且函數中必須有return返回;

      3.執行方式略有不同,存儲過程的執行方式有兩種(1.使用execute;2.使用begin和end)函數除了

      存儲過程的兩種方式,還可以當做表達試使用,例如放在select中(select f1() from dual;)

      總結:如果只有一個返回值,用存儲函數,否則,一般用存儲過程。

      相關推薦:

      oracle中decode函數的如何使用

      Oracle如何更改表空間的數據文件位置

      詳解Oracle常用函數Trunc

      以上就是詳解oracle中存儲函數與存儲過程的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清