- 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 update TO ap;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON ap
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO ar;
- DROP RULE ar_id_track_u ON update TO ar;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON ar
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO business;
- DROP RULE business_id_track_u ON update TO business
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON business
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO chart;
- DROP RULE chart_id_track_u ON update TO chart;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON chart
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO customer;
- DROP RULE customer_id_track_u ON update TO customer;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON customer
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO department;
- DROP RULE department_id_track_u ON update TO department;
- INSERT INTO transactions (id, table_name) SELECT id, 'employee' FROM employee;
- DROP RULE employee_id_track_i ON insert TO employee;
- DROP RULE employee_id_track_u ON update TO employee;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON employee
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO gl;
- DROP RULE gl_id_track_u ON update TO gl;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON gl
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO oe;
- DROP RULE oe_id_track_u ON update TO oe;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON oe
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO parts;
- DROP RULE parts_id_track_u ON update TO parts;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON parts
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO partsgroup;
- DROP RULE partsgroup_id_track_u ON update TO partsgroup;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON partsgroup
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO pricegroup;
- DROP RULE pricegroup_id_track_u ON update TO pricegroup;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON pricegroup
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO project;
- DROP RULE project_id_track_u ON update TO project;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON project
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO vendor;
- DROP RULE employee_id_track_u ON update TO vendor;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON vendor
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts 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 insert TO warehouse;
- DROP RULE warehouse_id_track_u ON update TO warehouse;
- CREATE TRIGGER track_global_inserts BEFORE INSERT OR UPDATE ON warehouse
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
- CREATE TRIGGER track_global_inserts AFTER DELETE ON warehouse
- FOR EACH ROW EXECUTE PROCEDURE track_global_sequence();
|