Oracle存储函数

本文记录Oracle学习过程中遇到的存储函数~

存储过程与存储函数的区别与联系:

过程和函数的区别在于函数可以有一个返回值,而过程没有返回值;
但是,过程和函数都可以通过out指定一个或多个输出参数,可以利用out参数在过程和函数中实现返回多个值。

语法格式:

create [or replace] function funcname(var in/out type, ...) return type is
	resultVal resultType;
begin
	return resultVal;
end funcname;

示例代码:

create or replace function empincome(eno in emp.empno%type)
return number is 
	psal emp.sal%type;
	pcomm emp.comm%type;
begin
	select t.sal into psal from emp t where t.empno = eno;
	return psal * 12 + nvl(pcomm, 0);
end;

标签: none