Hello, I have a trigger function designed to encrypt source data on insert/update. I have a problem where an assignment isn't happening, and I don't understand why. Any thoughts
In the function, I unnecessarily reset new.pii_ccard_number to null. It must be null already for the else condition to apply. The problem is that the following statement NEW.pi2_pii_ccard_number=null; Doesn't appear to be executing. After the statement completes, the pi2 column Isn't set to null. However when I change the function and remove the highlighted line it works setting pi2 to null. Really weird. Thanks Doug CREATE OR REPLACE FUNCTION bop.amex_ccr_settlement_encrypt() RETURNS "trigger" AS $BODY$ BEGIN If NEW.pii_ccard_number is not null then NEW.pi2_pii_ccard_number=dba_work.owwencrypt(new.pii_ccard_number,new.amex_ccr_settlement_id); NEW.pii_ccard_number=''; else NEW.pi2_pii_ccard_number=null; NEW.pii_ccard_number=null; end if; RETURN NEW; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; CREATE TRIGGER amex_ccr_settlement_encrypt_0306bak BEFORE INSERT OR UPDATE ON bop.amex_ccr_settlement_0306bak FOR EACH ROW EXECUTE PROCEDURE bop.amex_ccr_settlement_encrypt(); COMMENT ON TRIGGER amex_ccr_settlement_encrypt ON bop.amex_ccr_settlement IS 'version:20100305_0912 generated on 2010-03-06 08:01:57.836201-06'; update bop.amex_ccr_settlement_0306bak a set pii_ccard_number = null from bop.amex_ccr_settlement_keys b where b.amex_ccr_settlement_id = a.amex_ccr_settlement_id and pi2_pii_ccard_number is not null and b.pii_ccard_number is null ; Doug Little Sr. Data Warehouse Architect | Enterprise Data Management | Orbitz Worldwide 500 W. Madison, Suite 1000 Chicago IL 60661| Office 312.260.2588 | Fax 312.894.5164 | Cell 847-997-5741 douglas.lit...@orbitz.com<mailto:douglas.lit...@orbitz.com> [cid:image001.jpg@01CABD15.EE7F1830] orbitz.com<http://www.orbitz.com/> | ebookers.com<http://www.ebookers.com/> | hotelclub.com<http://www.hotelclub.com/> | cheaptickets.com<http://www.cheaptickets.com/> | ratestogo.com<http://www.ratestogo.com/> | asiahotels.com<http://www.asiahotels.com/>
<<inline: image001.jpg>>