ORACLE创建函数,调用函数。
函数的定义:
create/replace function 函数名 (参数名 输入输出类型 字段类型) return 字段类型 is变量名 字段类型; --函数的内部变量,需要包含字段类型的长度begin主体;return(变量名);end 函数名;要点:定义函数的参数和输出类型的时候不需要考虑字段类型的长度;函数的内部变量需包含字段类型的长度;函数可以没有输入输出参数,但一定要有返回(return)的数据类型,因此必须有内部变量存储return的数据;函数的输入输出参数可以在主体中直接使用。函数的执行:--sqlplusvar 变量名 字段类型(包含长度);exec :变量名:=函数名(参数的值,接收输出变量的变量名)--developerselect 函数名(参数) 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;