ORACLE创建函数,调用函数。
函数的定义:
create/replace function 函数名 (参数名 输入输出类型 字段类型) return 字段类型 is
变量名 字段类型; --函数的内部变量,需要包含字段类型的长度
begin
主体;
return(变量名);
end 函数名;
要点:
定义函数的参数和输出类型的时候不需要考虑字段类型的长度;
函数的内部变量需包含字段类型的长度;
函数可以没有输入输出参数,但一定要有返回(return)的数据类型,因此必须有内部变量存储return的数据;
函数的输入输出参数可以在主体中直接使用。
函数的执行:
--sqlplus
var 变量名 字段类型(包含长度);
exec :变量名:=函数名(参数的值,接收输出变量的变量名)
--developer
select 函数名(参数) from dual;
1.创建函数
CREATE OR REPLACE FUNCTION F_MSG( NAME_U IN VARCHAR2, NAME_P IN VARCHAR2 ) RETURN NUMBER IS ALL_T NUMBER; BEGIN SELECT SUM(A.PRODUCT_NUM*A.PRICE) INTO ALL_T FROM PRODUCT_RELEASE A,USER_M B WHERE A.USER_ID=B.USER_ID AND B.USER_NAME=NAME_U AND A.PRODUCT_NAME=NAME_P GROUP BY B.USER_NAME,A.PRODUCT_NAME; RETURN ALL_T; END F_MSG;
2、调用函数
SELECT F_MSG('张力','护肤水') AS"总额" FROM DUAL;