/*
函数:function:有返回值的子程序
函数格式:
create or replace function
函数名(参数列表)
retrun 返回值类型
as
定义变量
begin
实现功能的具体代码
end;
*/
-- 1 写一个方法获取a+b的
create or replace function
fun_1(a int,b int)
return int
as
sumab int;
begin
sumab:=a+b;
return sumab;
end;
-- 调用函数:方式1:通过plasql块
declare
sumab int;
begin
sumab:=fun_1(3,4);
dbms_output.put_line('sumab='||sumab);
end;
-- 调用函数:方式2:select语句
select fun_1(3,6) from dual;
-- 2 写一个方法获取1到100的和
create or replace function
fun_2
return int
as
sumab int:=0;
begin
for n in 1..100 loop
sumab:=sumab+n;
end loop;
return sumab;
end;
-- 调用
select fun_2 from dual;
-- 删除函数
drop function fun_2;
-- 设置函数执行权限给指定的用户
grant execute on fun_2 to tian;
-- 取消函数执行权限
revoke execute on fun_2 from tian;
-- 练习1: 写一个function:判断参数年 参数月 参数日 距离今天的天数
-- 练习2: 写一个function:获取参数字符串中参数转发出现的次数
-- 练习3: 写一个function:对参数float进行四舍五入:保留指定位的小数
-- 练习4: 写一个function:获取最接近参数n的质数
oracle方法function:oracle17(跟着宝哥学java:oracle系列:全网最全):方法function,定义方法
于 2023-04-06 15:58:53 首次发布