一、语法结构
- create or replace function 函数名(参数1 模式 参数类型)
- return 返回值类型
- as /is
- 变量1 变量类型;
- 变量2 变量类型;
- begin
- 函数体;
- end 函数名;
参数的模式有3种:(如果没有注明, 参数默认的类型为 in.)
in: 为只读模式, 在函数中, 参数的值只能被引用, 不能被改变;
out: 为只写模式, 只能被赋值, 不能被引用;
in out: 可读可写.
二、简单的例子:
1. 读入两个值, 返回比较大的值(有参数)
- create or replace function function1(para1 in number, para2 in number)
- return number
- as
- begin
- if para1 > para2 then
- return para1;
- else
- return para2;
- end if;
- end function1;
使用:
select function1(666, 333) from dual;
结果: 666
2.没有参数的函数
create or replace function get_user
return varchar2 is
v_user varchar2(50);
begin
select username into v_user from user_users;
return v_user;
end get_user;
使用:
select get_user from dual;