oracle创建调用函数

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;
posted @ 2020-08-13 17:20  晨起的太阳  阅读(626)  评论(0编辑  收藏  举报