美文网首页
函数的应用

函数的应用

作者: 终南山笑谈 | 来源:发表于2018-08-17 15:26 被阅读0次

创建示例:
13、数据库 函数

--函数      创建或替换    函数          参数1                参数2
create or replace function ytInvest(amount numeric(15,2),deadline bigint) returns numeric(15,2) 
AS $$   --程序开始
declare     --声明
i integer;  --变量
total numeric(15,2):=0.00; 
rate numeric(15,2):=0.00; 
begin   --开始
i:=1; 
FOR i IN 1..deadline LOOP --循环 从变量i=1 到deadline
select r_income_rate into rate from t_product_earning_rate where r_product_id = 1 and r_month = i; 
total := total + amount*i*rate; 
end loop; 
total := total/12/100; 
return total; 
end; 
$$ 
LANGUAGE plsrsql VOLATILE 
COST 100;

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

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:函数名称,如果数据库中已经存在了此名称,则可以指定“or replace”关键字,这样新的函数将覆盖掉原来的函数。parameter1:函数的参数,这是个可选项,因为函数可以没有参数。data_type:函数的返回值类型,这是个必选项。在返回值类型的前面要使用return 关键字来标明。inner_variable:函数的内部变量,它有别于函数的参数,这是个可选项。plsql_ sentence:PL/SQL 语句,它是函数主要功能的实现部分,也就是函数的主体。dowith _ sentences:异常处理代码,也是PL/SQL 语句,这是一个可选项。由于函数有返回值,所以在函数主体部分(即begin 部分)必须使用return 语句返回函数值,并且要求返回值的类型要与函数声明时的返回值类型(即data_type)相同。

案例:定义一个函数,用于计算emp 表中指定某个部门的平均工资,代码及运行结果如下:

SQL> 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); //返回平均工资为0

end;

/

函数已创建

2.调用函数

由于函数有返回值,所以在调用函数时,必须使用一个变量来保存函数的返回值,这样函数和这个变量就组成了一个赋值表达式。以调用上面的get_avg_pay 函数为例,看看如何调用函数。案例:调用函数 get_avg_pay,计算部门编号为10 的雇员平均工资并输出,代码如下。

SQL> set serveroutput on

SQL> 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;

相关文章

  • 函数的应用

    创建示例:13、数据库 函数 函数一般用于计算和返回一个值,可以将经常需要使用的计算或功能写成一个函数。 1.创建...

  • 函数的应用

    """ 1.函数的声明 def 函数名(参数1:类型1, 参数2:类型2...) ->返回值类型:函数说明文档函数...

  • 函数的应用

    函数的重载 函数名相同,参数列表不同(包括参数类型不同,参数个数不同,参数顺序不同) 函数的一些注意地方 1.在创...

  • 大连滕泰科技学习笔记2020-09-01

    1,项目组8 1,1 函数应用-- 函数套用函数的应用-- 函数中参数的默认数据 1,2 事件-- onload静...

  • 以无线方式安装企业内部iOS应用(启动下载更新发布)总结

    1.启动应用程序: 应用程序入口是main函数: main函数中有代用的UIApplicationMain函数,然...

  • 函数应用

    1.写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表...

  • Pandas的基本功能(五)

    函数应用与映射 在第二节的Series对象中,讲解了部分数学函数的应用,接下来详细讲解Pandas函数的应用与映射...

  • VUE

    vue 1.mounted函数(钩子函数)的应用场景? 应用场景:页面一加载就执行函数里面的内容.注意: 钩子函数...

  • 函数加里化和偏函数应用的总结

    函数加里化和偏函数应用的总结 偏函数应用是找一个函数,固定其中的几个参数值,从而得到一个新的函数。函数加里化是一种...

  • 空气质量指数数据分析可视化

    目录 1 数据描述 2 数据预处理 应用日期计算函数 应用匹配查找函数 逻辑判断函数 Python缺失值处理 3 ...

网友评论

      本文标题:函数的应用

      本文链接:https://www.haomeiwen.com/subject/bvftiftx.html