1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| DECLARE
AssociationExists NUMBER(1);
BEGIN
SELECT COUNT(*) INTO AssociationExists
FROM T_DECISION_MAT_PIM rfmp
WHERE rfmp.MAT_C_MAT = :MAT_C_MAT
AND rfmp.PIM_C_PIM = :PIM_C_PIM;
IF AssociationExists = 1 THEN
IF :RQFD_N_DECISION IS NOT NULL AND :RQFD_N_DECISION > 0 THEN
UPDATE T_DECISION_MAT_PIM rfmp
SET rfmp.RQFD_N_DECISION = :RQFD_N_DECISION
WHERE rfmp.MAT_C_MAT = :MAT_C_MAT
AND rfmp.PIM_C_PIM = :PIM_C_PIM;
ELSE
DELETE FROM T_DECISION_MAT_PIM rfmp
WHERE rfmp.MAT_C_MAT = :MAT_C_MAT
AND rfmp.PIM_C_PIM = :PIM_C_PIM;
END IF;
ELSE
IF :RQFD_N_DECISION IS NOT NULL AND :RQFD_N_DECISION > 0 THEN
INSERT INTO T_DECISION_MAT_PIM (MAT_C_MAT, PIM_C_PIM, RQFD_N_DECISION)
VALUES (:MAT_C_MAT, :PIM_C_PIM, :RQFD_N_DECISION);
END IF;
END IF;
END; |