Oracle中子程序和程序包中的函数

oracle中的函数

       oracle中的函数是子程序和程序包中的一部分,函数与过程相似,是数据库中存储的已命名PL/SQL程序块。函数的主要特征是它必须返回一个值。创建函数时通过RETURN子句指定函数返回值数据类型。在函数的任何地方,都可以通过“RETURN 表达式”语句从函数返回,这里的“表达式”的值与函数定义中指定的返回数据类型一致。

函数的创建语法:

CREATE [OR REPLACE] FUNCTION 函数名[(过程参数列表)] RETURN 数据类型 

{IS|AS} 

      --声明部分 

BEGIN

      --可执行部分

[EXCEPTION]

      --异常处理部分

END [函数名]; 

函数和过程是非常相似的,不同在于函数必须返回一个值,在return后面写明数据类型。例如:

create or replace function get_weight(agepoint int,names varchar default 'smith') return number

is

weight number;

begin

  select age*agepoint into weight from orcltest where name=names;

  return weight;

  exception

    when no_data_found then

      dbms_output.put_line('没有查找到数据'); 

end get_weight;

以上为创建了一个函数,函数名为get_weight,有两个参数,第二个参数有默认值。让后做处理,返回值是weight。

数据表:

Oracle中子程序和程序包中的函数

 

下面是测试函数的代码:

SQL> select get_weight(1) from dual;

 

GET_WEIGHT(1)

-------------

           23

 

SQL> select get_weight(2,'jerry') from dual;

 

GET_WEIGHT(2,'JERRY')

---------------------

                   38

 

函数常常是作为表达式的一部份调用。和过程相比,函数必须在声明中包含return语句;必须返回一个值;必须包含至少一个return语句,作为结束。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值