You are on page 1of 1

--create according to requirement

CREATE OR REPLACE FUNCTION SF_CalculateTotalFee(


p_Patientid ABCPatient.patientid%TYPE,p_FeeAmount NUMBER)
RETURN NUMBER
IS
v_count NUMBER;
v_TotalAmount NUMBER;
v_Discount NUMBER;
BEGIN
SELECT COUNT(*) INTO v_count FROM ABCPatient
WHERE patientid = p_Patientid;
IF (v_count=0) THEN
RETURN -1;
END IF;
IF p_FeeAmount<=0 THEN
RETURN -2;
END IF;
IF (p_FeeAmount>0 AND p_FeeAmount<=500) THEN
v_Discount:=5;
END IF;
IF (p_FeeAmount>500 AND p_FeeAmount<=1000) THEN
v_Discount:=10;
END IF;
IF (p_FeeAmount>1000) THEN
v_Discount:=15;
END IF;
v_TotalAmount:=p_FeeAmount-(p_FeeAmount*v_Discount*.01);
RETURN v_TotalAmount;
EXCEPTION
WHEN OTHERS THEN
RETURN -3;
END;

You might also like