一、函数的概念
是一个命名的PL/SQL块。它被作为一种数据库对象保存在数据库中,能够接收参数,并且能够有一个返回值。
它能够被作为表达式的一部分被调用。
Select round(12.345)+12 From emp;
二、函数创建的语法
Create [Or Replace] Function 函数名[(参数列表)] Return datatype Is|As pl/SQL块
说明:参数列表格式为 :参数名称 参数模式 参数的数据类型,多个参数之间用,分割。
参数模式包括三种:In \Out\In Out
参数的数据类型只能写具体的类型名,不能加长度。
三、如何编辑一个函数
1、在SQL-window中直接写创建函数的脚本,然后按F8,编译执行。
Create Or Replace Function f1 Return Number Is
Begin
dbms_output.put_line('a');
End;
2、在Command-window直接写,按照按/编译执行,可以通过show errors查看编译错误。
3、new program-window->Function,然后按F8。
例:创建一个函数,函数的功能是通过指定员工的编号,返回员工的工资。
四、函数的调用
1、在另一个块里调用,方式 变量名:=函数名(参数列表)
2、在sql-plus环境中调用:方式:exec :变量名 :=函数名(参数列表)
3、可以在Select子句,where子句,having子句,insert的value子句,update的set子句中直接调用函数,调用
方式:函数名(参数列表)
练习:写一个函数,用来计算员工的个人所得税,个人所得税的计算方式为:
当工资在2000以下,不缴纳个人所得税,
在2000-4000元,超出2000的部分按照5%缴纳,
4000元以上的,超出4000的部分按照10%缴纳。
五、从SQL中调用函数的限制
略。
六、删除函数
略。
七、函数和过程的区别
略。