egdb3_12_9
.money
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
materialized_summary_payment_del()
Parameters
Name
Type
Mode
IN
Definition
DECLARE prev_payment money.payment_view%ROWTYPE; old_payment money.payment_view%ROWTYPE; BEGIN SELECT * INTO prev_payment FROM money.payment_view WHERE xact = OLD.xact AND NOT voided ORDER BY payment_ts DESC LIMIT 1 OFFSET 1; SELECT * INTO old_payment FROM money.payment_view WHERE xact = OLD.xact AND NOT voided ORDER BY payment_ts DESC LIMIT 1; IF OLD.id = old_payment.id THEN UPDATE money.materialized_billable_xact_summary SET last_payment_ts = prev_payment.payment_ts, last_payment_note = prev_payment.note, last_payment_type = prev_payment.payment_type WHERE id = OLD.xact; END IF; IF NOT OLD.voided THEN UPDATE money.materialized_billable_xact_summary SET total_paid = total_paid - OLD.amount, balance_owed = balance_owed + OLD.amount WHERE id = OLD.xact; END IF; RETURN OLD; END;