语法格式:
创建函数
CREATE [OR REPLACE] FUNCTION 函数名[(参数 参数类型[IN|OUT|IN OUT] 数据类型,……)]
RETURN 返回的数据类型 -- 不带数据类型长度
IS|AS
PL/SQL函数体; -- 里面必须要有一个RETURN子句
栗子:
创建
-- 传入两个参数,返回最大值
CREATE OR REPLACE FUNCTION FUN_MAX (P_NUM1 IN NUMBER,
P_NUM2 IN NUMBER DEFAULT 99)
RETURN NUMBER -- 函数的返回类型
IS
BEGIN
IF P_NUM1>P_NUM2 THEN
RETURN P_NUM1;
ELSE
RETURN P_NUM2;
END IF;
END;
调用
SELECT FUN_MAX(20) FROM DUAL; ---创建时给了默认值
--或者
BEGIN
dbms_output.put_line(FUN_MAX(12,20));
END;
--或者
DECLARE
v_num NUMBER;
BEGIN
v_num := FUN_MAX(12,20);
dbms_output.put_line(v_num);
END;