- DELETE FROM transactions;
- CREATE OR REPLACE FUNCTION track_global_sequence() RETURNS TRIGGER AS
- $$
- BEGIN
- IF tg_op = 'INSERT' THEN
- INSERT INTO transactions (id, table_name)
- VALUES (new.id, TG_RELNAME);
- ELSEIF tg_op = 'UPDATE' THEN
- IF new.id = old.id THEN
- return new;
- ELSE
- UPDATE transactions SET id = new.id WHERE id = old.id;
- END IF;
- ELSE
- DELETE FROM transactions WHERE id = old.id;
- END IF;
- RETURN new;
- END;
- $$ LANGUAGE PLPGSQL;
- INSERT INTO transactions (id, table_name) SELECT id, 'ap' FROM ap;
- DROP RULE ap_id_track_i ON ap;
- DROP RULE ap_id_track_u ON ap;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON ap
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON ap
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'ar' FROM ar;
- DROP RULE ar_id_track_i ON ar;
- DROP RULE ar_id_track_u ON ar;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON ar
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON ar
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'business' FROM business;
- DROP RULE business_id_track_i ON business;
- DROP RULE business_id_track_u ON business;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON business
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON business
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'chart' FROM chart;
- DROP RULE chart_id_track_i ON chart;
- DROP RULE chart_id_track_u ON chart;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON chart
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON chart
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'customer' FROM customer;
- DROP RULE customer_id_track_i ON customer;
- DROP RULE customer_id_track_u ON customer;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON customer
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON customer
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'department' FROM department;
- DROP RULE department_id_track_i ON department;
- DROP RULE department_id_track_u ON department;
- INSERT INTO transactions (id, table_name) SELECT id, 'employee' FROM employee;
- DROP RULE employee_id_track_i ON employee;
- DROP RULE employee_id_track_u ON employee;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON employee
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON employee
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'gl' FROM gl;
- DROP RULE gl_id_track_i ON gl;
- DROP RULE gl_id_track_u ON gl;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON gl
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON gl
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'oe' FROM oe;
- DROP RULE oe_id_track_i ON oe;
- DROP RULE oe_id_track_u ON oe;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON oe
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON oe
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'parts' FROM parts;
- DROP RULE parts_id_track_i ON parts;
- DROP RULE parts_id_track_u ON parts;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON parts
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON parts
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'partsgroup' FROM partsgroup;
- DROP RULE partsgroup_id_track_i ON partsgroup;
- DROP RULE partsgroup_id_track_u ON partsgroup;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON partsgroup
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON partsgroup
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'pricegroup' FROM pricegroup;
- DROP RULE pricegroup_id_track_i ON pricegroup;
- DROP RULE pricegroup_id_track_u ON pricegroup;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON pricegroup
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON pricegroup
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'project' FROM project;
- DROP RULE project_id_track_i ON project;
- DROP RULE project_id_track_u ON project;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON project
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON project
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'vendor' FROM vendor;
- DROP RULE vendor_id_track_i ON vendor;
- DROP RULE employee_id_track_u ON vendor;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON vendor
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON vendor
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- INSERT INTO transactions (id, table_name) SELECT id, 'warehouse' FROM warehouse;
- DROP RULE warehouse_id_track_i ON warehouse;
- DROP RULE warehouse_id_track_u ON warehouse;
- CREATE TRIGGER track_global_inserts_iu BEFORE INSERT OR UPDATE ON warehouse
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts_d AFTER DELETE ON warehouse
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
|