加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle函数

发布时间:2020-12-12 16:31:36 所属栏目:百科 来源:网络整理
导读:函数一般用于计算和返回一个值,可以将经常需要使用的计算或功能写成一个函数。 1、创建函数 函数是一种存储在数据库中的命名程序块,函数可以接受零或多个输入参数,并且函数必须有返回值,其定义语法格式如下: create [or replace] function fun_name[(pa

函数一般用于计算和返回一个值,可以将经常需要使用的计算或功能写成一个函数。

1、创建函数

函数是一种存储在数据库中的命名程序块,函数可以接受零或多个输入参数,并且函数必须有返回值,其定义语法格式如下:

create [or replace] function fun_name[(parameter1[,parameter2]…) return data_type is
  [inner_variable]
begin
  plsql_sentence;
[exception]
  [dowith_sentences;]
end [fun_name];

fun_name:函数名称。

parameter1:函数的参数,这是个可选项,因为函数可以没有参数。

data_type:函数的返回值类型,这是个必选项。在返回值类型的前面要使用return关键字来表明。

inner_variable:函数的内部变量,它有别于函数的参数,这是个可选项。

plsql_sentence:PL/SQL语句,它是函数主要功能的实现部分,这就是函数的主体。

dowith_sentences:异常处理代码,也是PL/SQL语句,这是一个可选项。

【实例】定义一个函数,用于计算emp表中指定某个部门的平均工资,代码如下:
/*创建一个函数,该函数实现计算某个部门的平均工资,传入部门编号参数*/
create or replace function get_avg_pay(num_deptno number) return number is
  num_avg_pay number;          --保存平均工资的内部变量
begin
  select avg(sal) into num_avg_pay from emp
  where deptno = num_deptno;
  return (round(num_avg_pay,2));
exception
  when no_data_found then      --若此部门编号不存在
    dbms_output.put_line('该部门编号不存在');
    return 0;
end;

2、调用函数

由于函数有返回值,所以在调用函数时,必须使用一个变量来保存函数的返回值。

【实例】调用函数get_avg_pay,计算部门编号为10的雇员平均工资并输出,代码如下:

declare
  avg_pay number;            --定义变量,存储函数返回值
begin
  avg_pay:=get_avg_pay(10);  --调用函数,并获取返回值
  dbms_output.put_line('平均工资是:'||avg_pay);
end;

3、删除函数

删除函数的操作比较简单,使用drop function命令,其后面跟着要删除的函数名称,其语法格式如下:

drop function fun_name;
fucn_name:表示要删除的函数名称。

【实例】使用drop function命令删除get_avg_pay函数,代码如下:

drop function get_avg_pay;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读