欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle实践--PL/SQL基础之函数

程序员文章站 2022-05-26 23:28:02
pl/sql基础之函数 /* 函数:可以有返回值得命名的pl/sql子程序,必须有返回值 关键字:function return */ --函数1 create o...

pl/sql基础之函数

/*

函数:可以有返回值得命名的pl/sql子程序,必须有返回值

关键字:function return

*/

--函数1

create or replace function helloworld
return varchar2--指定返回类型,不能给定长度
as
  v_hello varchar2(50);
begin
 v_hello :='helloworld!';
 return v_hello;--不可少的return
end;

--函数调用方式:

select helloworld from dual;
select helloworld() from dual;
declare
  v_re varchar2(50);
begin
 v_re := helloworld();--记住必须得接收函数的返回值哦
 dbms_output.put_line(v_re);
end;

--函数2

create or replace function my_func(v_sal number)
return varchar2--一定注意,此处不能加';'
as
 v_sql varchar2(200);
 v_msg varchar2(50);
 v_min number;
 v_max number;
begin
 v_sql :='select max(sal),min(sal) from emp';
 execute immediate v_sql into v_max,v_min;
 if v_sal > v_min and v_sal < v_max then
   v_msg :='工资在正常范围内!';
 else
   v_msg :='不正常';--不写的话,在java中相当于初始化为''
 end if;
 return v_msg;
end;
--调用函数2
select my_func(1500) from dual;
declare
 v_sal number :='&薪水:';
 v_result varchar2(50);
begin
 v_result := my_func(v_sal);
 dbms_output.put_line(v_result);
end;