1、定义
函数:接受0或多个输入参数,有一个返回值,返回值的数据类型在创建函数时定义。
函数例子1
CREATE OR REPLACE FUNCTION tax(p_empno IN NUMBER)
RETURN NUMBER IS
v_sal NUMBER;
v_returnValue NUMBER;
BEGIN
SELECT sal INTO v_sal
FROM emp1 WHERE empno=p_empno;
v_returnValue := v_sal*0.08;
RETURN v_returnValue;
END tax;
返回员工的所得税
调用函数
DECLARE
v_tax NUMBER;
BEGIN
v_tax := tax(&empno);
DBMS_OUTPUT.PUT_LINE('TAX IS '||v_tax);
END;

函数例子2
创建函数:
CREATE OR REPLACE FUNCTION get_salary(
p_dept_no NUMBER,
p_num OUT NUMBER)
RETURN NUMBER IS
v_sum NUMBER;
BEGIN
SELECT SUM(sal), count(*) INTO v_sum, p_num
FROM emp WHERE deptno=p_dept_no;
RETURN v_sum;
END get_salary;
/
在PL/SQL块中调用:
DECLARE
V_num2 NUMBER;
V_sum NUMBER;
BEGIN
V_sum :=get_salary(&&deptno,V_num2);
DBMS_OUTPUT.PUT_LINE(&deptno||' department sum salary is '||V_sum||'    employee: '||V_num2);
END;
/
2、删除函数
我们可以 DROP FUNCTION 命令对不需要的函数进行删除,语法如下:
DROP FUNCTION [user.]FUNCTION_name;