5243ace63b8b90bfcab7382e227ca72a36c08118
[kivitendo-erp.git] / sql / Pg-upgrade2 / delete_translations_on_tax_delete.sql
1 -- @tag: delete_translations_on_tax_delete
2 -- @description: Übersetzungen löschen, wenn Steuer gelöscht wird
3 -- @depends: release_3_0_0
4 -- @encoding: utf-8
5
6 CREATE OR REPLACE FUNCTION generic_translations_delete_on_tax_delete_trigger()
7 RETURNS TRIGGER AS $$
8   BEGIN
9     DELETE FROM generic_translations
10       WHERE translation_id = OLD.id AND translation_type LIKE 'SL::DB::Tax/taxdescription';
11     RETURN OLD;
12   END;
13 $$ LANGUAGE plpgsql;
14
15 DROP TRIGGER IF EXISTS after_delete_tax_trigger ON tax;
16
17 CREATE TRIGGER after_delete_tax_trigger
18   AFTER DELETE ON tax
19   FOR EACH ROW EXECUTE PROCEDURE generic_translations_delete_on_tax_delete_trigger();
20
21 -- delete orphaned translations
22 DELETE FROM generic_translations
23   WHERE translation_type LIKE 'SL::DB::Tax/taxdescription'
24   AND   translation_id NOT IN (SELECT id FROM tax);