表A:會(huì)員信息表(會(huì)員號(hào)memberid,會(huì)員級(jí)別,享受折扣memberdis)表B:收銀信息表(會(huì)員號(hào)memberid,本次消費(fèi)額spend,實(shí)付金額cost)建一存儲(chǔ)過(guò)程,向B中插入一條完整的數(shù)據(jù),已知memberid和spend,同時(shí)通過(guò)memberid從表A中得出memberdis,cost=memberdis*spend。用函數(shù)實(shí)現(xiàn)計(jì)算cost,用存儲(chǔ)過(guò)程實(shí)現(xiàn)調(diào)用函數(shù)向表B中插入一條完整的數(shù)據(jù)。存儲(chǔ)過(guò)程名proc_mem,包含兩個(gè)輸入?yún)?shù)memberid和spend,函數(shù)名function_mem
2 回答

德瑪西亞99
TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
--函數(shù),根據(jù)會(huì)員id和本次消費(fèi)額,返回本次實(shí)付金額
create or replace function function_mem(mem_id in varchar,spend in number)
return number
is
re_spend number(11,2);
temp_spend number(5,2);
begin
select memberdis into temp_spend from 表A where memberid=mem_id;
re_spend := temp * temp_spend;
return (re_spend);
end;
--存儲(chǔ)過(guò)程
create or replace procedure proc_mem(mem_id varchar,spend number)
as
begin
inser into 表B (memberid,spend,cost) values (memberid,spend,function_mem(memberid,spend));
end;
- 2 回答
- 0 關(guān)注
- 428 瀏覽
添加回答
舉報(bào)
0/150
提交
取消