17,089
社区成员
发帖
与我相关
我的任务
分享
(
v_in_OnRampID IN CONSUMPTIONAL.Onrampid%Type,--入口ID
v_in_OffRampID IN CONSUMPTIONAL.Offrampid%Type,--出口ID
v_in_SimNumber IN OBUINFO.SIMNUMBER%Type,--Sim卡号码
v_out_Charge OUT CONSUMPTIONAL.TOLL%Type,--输出收费金额
v_out_PlateNumber OUT OBUINFO.PLATENUMBER%Type--输出车牌号
)
IS
v_ChargeType USERINFO.CHARGETYPE%TYPE;
BEGIN
v_out_Charge:=0;
--查询车牌号码
SELECT PLATENUMBER INTO v_out_PlateNumber
FROM OBUINFO
WHERE SIMNUMBER=v_in_SimNumber;
--查询收费类型
SELECT CHARGETYPE INTO v_ChargeType
FROM USERINFO
WHERE PLATENUMBER=v_out_PlateNumber;
CASE v_ChargeType
WHEN 'A' THEN
SELECT TOLL INTO v_out_Charge
FROM TARIFF_A
WHERE ONRAMPID=v_in_OnRampID AND OFFRAMPID=v_in_OffRampID;
WHEN 'B' THEN
SELECT TOLL INTO v_out_Charge
FROM TARIFF_B
WHERE ONRAMPID=v_in_OnRampID AND OFFRAMPID=v_in_OffRampID;
WHEN 'C' THEN
SELECT TOLL INTO v_out_Charge
FROM TARIFF_C
WHERE ONRAMPID=v_in_OnRampID AND OFFRAMPID=v_in_OffRampID;
WHEN 'D' THEN
SELECT TOLL INTO v_out_Charge
FROM TARIFF_D
WHERE ONRAMPID=v_in_OnRampID AND OFFRAMPID=v_in_OffRampID;
ELSE v_out_Charge:=0;
END CASE;
END Get_Charge_PlateNumber;