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操作,考虑选择函数。

  

猜你喜欢

转载自www.cnblogs.com/lyr999736/p/9051379.html