Oracle數據庫的函數


一:說明

  Oracle數據庫本身預置了很多函數,如日期函數,字符串函數,數值函數等,當這些預置的函數無法滿足業務的要求時,我們可以自定義函數來解決問題。

二:語法

  create [or replace] function 函數名(參數1 類型,參數2 類型,......)

  return 類型

  is

    --變量聲明區

  begin

    --業務邏輯區

    return 值;

  end;

  /

三:練習

  判斷一個數,如果大於0,就返回1,如果小於0,就返回-1,如果等於=0,就返回0

  create or replace function check(num number)

  return number

  is

  begin

    if  num>0 then

      return 1;

    elsif  num<0 then

      return -1;

    else

      return 0;  

    end if;

  end;

  /

--plsql調用

  begin

    dbms_output.put_line(3);

  end;

  /

四:函數參數

  同樣有in,out,in out 屬性,其規則與存儲過程一樣。  

  -->練習:計算兩個數字的和,並返回這個數字。

  create or replace function sum(a in out number,b in out number)

  return number

  is

    begin

      if a is null then

        a:=0;

      if b is null then

        b:=0;

      end if;

      return a+b;

    end;

    /

--調用

  declare

    s number;

    a number:=1;

    b number:=2;

  begin

    s:=sum(a,b);

    dbms_output.put_line(s);

  end;

  /

 

五:存儲過程與函數的選擇

  1)如果進行DML操作,選擇存儲過程。

  2)如果沒有DML操作,考慮選擇函數。

 

 

 

 

 

 

 

 

 

 

 

 

  


免責聲明!

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



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