ORACLE中编写一个简单的函数
1、函数一般由输入部分,逻辑计算部分、输出部分组成。输入部分允许有参数也可以无参数,如果有参数调用函数时需要给这些参数赋值;逻辑计算部分将是封装好的一系列算术运算等集合到一起。输出部分将计算好的结果返回
2、函数语法:
create [or replace] function function_name
([p1,p2...pn])
return datatype
is|as
begin
statement....
end [function_name];
语法解析:
create:创建 、
[or replace] :是否覆盖同函数名 、
function_name :函数名 、
([p1,p2...pn]):参数名称
return datatype:函数返回的数据类型
3、例:创建一个简单的函数,实现传入两个数值型参数,返回最小值的平方值
首先创建一个函数名为F_MIN,两个参数为数值型,返回值也是数值型
CREATE OR REPLACE FUNCTION F_MIN(nu1 IN number,nu2 IN number)
RETURN NUMBER
IS
4、然后编写逻辑计算部分,判断两个参数大小,返回最小值的平方
BEGIN
IF nu1>nu2 THEN
return nu2 * nu2 ;
else
return nu1 * nu1 ;
END IF;
END F_MIN;
5、编译完后可以查看左侧对象栏中 FUNCTION文件夹中是否出现该函数,需要注意的是如果图标左上角出现小红叉,则检查该函数是否语法有问题
6、自定义完函数可以调用该函数,看看是否如我们编译算法那样
select F_MIN(8,10),F_MIN(10,8),F_MIN(5,5.1),F_MIN(5.1,5) from dual
7、完整的代码为:
CREATE OR REPLACE FUNCTION F_MIN(nu1 IN number,nu2 IN number)
RETURN NUMBER
IS
BEGIN
IF nu1>nu2 THEN
return nu2 * nu2 ;
else
return nu1 * nu1 ;
END IF;
END F_MIN;