/*
6、函数
create [or replace] function 函数名
([p1,p2...pn])
return datatype
is/as
--声明部分
begin
--PL/SQL程序块
end
*/
--6.1 无参数类型 函数名后不接() 返回10以内的随机整数
create or replace function fun1
return number
is
randnum number;
begin
randnum := mod(abs(dbms_random.random),10);--产生10以内的随机数
return randnum;
end;
/
select fun1 from dual;--使用函数
select fun1+10 from dual;--使用函数
drop function fun1;--删除函数fun1
--6.2.1 有参数类型 只有输入(in)类型参数
create or replace function fun2(
num1 in number,
num2 in number
)
return number
is
sumnum number;
begin
sumnum:=num1+num2;
return sumnum;
end;
/
select fun2(10,20) from dual;--使用函数
drop function fun2;--删除函数fun2
--6.2.2 有参数类型 【推荐先学习存储过程】 有输入(in)类型参数 有输出(out)类型参数 (弥补return数据只能有一个的不足)
create or replace function fun3(
num1 in number,
num2 in number,
sumnum out number
)
return number
is
begin
sumnum:=num1+num2;
return sumnum