oracle存储过程调用函数 ?
函数:
function CreateDiagClaimForOnePerson
(
P_YEAR number, --生成年度
P_CERTIFICATENUM varchar2, --身份证号(18位)
P_CREATORID varchar2, --操作员ID
P_CREATORNAME varchar2, --操作员姓名
P_UNIQUEID varchar2, --理赔单唯一编号
P_OTHERPAY number, --扣除的其他报销金额(仅在超封顶线时用)
P_CREATETYPE number, --1自动批量生成,2手动单个生成
P_ErrMsg out varchar2 --返回错误信息描述
) return number as
我新增一个存储过程,调用上面的函数,把函数的返回值 作为存储过程的输出函数 ,供程序调用
,怎么写 ??
------解决方案--------------------
报的什么错误?
------解决方案--------------------打开PL/SQL选择存储过程,点“编辑”应该会提示相关的错误信息的
------解决方案--------------------一、函数和过程是否在同一个包下:
1.在,直接调用;
2.不在,但在包里:包名.函数名;
二、函数是公共的,直接调用;
------解决方案--------------------另外,想看错误信息,把执行窗口改为命令行模式,执行后,show errors。
就可以看到了
------解决方案--------------------少逗号了,括号位置不对,如下为测试代码:
SQL>
SQL> create or replace procedure UT_CreateClaimForPerson( P_YEAR in number, --生成年度
2 P_CERTIFICATENUM in varchar2, --身份证号(18位)