函数和存储过程有一定的相似之处,函数用于返回特定的数据,当建立函数时,在函数头部就会包含return 字句,
而在函数体内必须包含return语句返回的数据,可以使用create function 来创建函数。
案例1 输入雇员的姓名,返回雇员的年薪。
创建函数:
create or replace function c_hs1(srname varchar2) return number is yearsal number(7,2);
begin
开始执行
select sal*12+nvl(comm,0)*12 into yearsal from emp where ename=srname; //防止为空
返回值
return yearsal;
end;
下面这个是创建函数的一个例子,只是作为参考使用:
CREATE OR REPLACE FUNCTION get_salary(
Dept_no NUMBER, Emp_count OUT NUMBER)
RETURN NUMBER
IS
V_sum NUMBER;
BEGIN
SELECT SUM(sal), count(*) INTO V_sum, emp_count
FROM emp WHERE deptno=dept_no;
RETURN v_sum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('你需要的数据不存在!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);
END get_salary;