求教在oracle中运用存储过程调用函数?例如下面的情况

表A:会员信息表(会员号memberid,会员级别,享受折扣memberdis)
表B:收银信息表(会员号memberid,本次消费额spend,实付金额cost)
建一存储过程,向B中插入一条完整的数据,已知memberid和spend,同时通过memberid从表A中得出memberdis,cost=memberdis*spend。用函数实现计算cost,用存储过程实现调用函数向表B中插入一条完整的数据。
存储过程名proc_mem,包含两个输入参数memberid和spend,函数名function_mem

MM们
浏览 384回答 2
2回答

德玛西亚99

--函数,根据会员id和本次消费额,返回本次实付金额create or replace function function_mem(mem_id in varchar,spend in number)return numberisre_spend number(11,2);temp_spend number(5,2);beginselect memberdis into temp_spend from 表A where memberid=mem_id;re_spend := temp * temp_spend;return (re_spend);end;--存储过程create or replace procedure proc_mem(mem_id varchar,spend number)asbegininser into 表B (memberid,spend,cost) values (memberid,spend,function_mem(memberid,spend));end;
打开App,查看更多内容
随时随地看视频慕课网APP