1 CREATE OR REPLACE FUNCTION _ccpayBeforeTrigger () RETURNS TRIGGER AS $$
2 -- Copyright (c) 1999-2014 by OpenMFG LLC, d/b/a xTuple.
3 -- See www.xtuple.com/CPAL for the full text of the software license.
8 IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN
9 -- If ccpay_ccard_id is set, we don't care if ccpay_card_type is set,
10 -- we want to get the Card Type from ccard.
11 IF (NEW.ccpay_ccard_id IS NOT NULL) THEN
12 SELECT ccard_type INTO _cardType
14 WHERE ccard_id = NEW.ccpay_ccard_id;
16 IF (_cardType IS NOT NULL) THEN
17 NEW.ccpay_card_type = _cardType;
24 $$ LANGUAGE 'plpgsql';
26 SELECT dropIfExists('TRIGGER', 'ccpayBeforeTrigger');
27 CREATE TRIGGER ccpayBeforeTrigger BEFORE INSERT OR UPDATE ON ccpay FOR EACH ROW EXECUTE PROCEDURE _ccpayBeforeTrigger();