Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create table main (
- main_id int8 not null,
- main_part timestamp,
- primary key (main_id));
- create table main_shadow (
- main_id bigserial not null,
- primary key (main_id));
- create table sub_one (
- main_id int8 not null,
- sub_one_data_field text);
- alter table main add constraint test_cnstrnt_main_main_shadow_main_id foreign key (main_id) references main_shadow (main_id) on update Cascade on delete Cascade;
- alter table sub_one add constraint test_cnstrnt_sub_one_main_shadow_main_id foreign key (main_id) references main_shadow (main_id) on update Cascade on delete Cascade;
- create or replace function test_tfnc_main_delete()
- returns trigger as
- $body$
- begin
- --'on delete cascade' takes care of the related rows
- delete from main_shadow where main_id = old.main_id;
- return old;
- end;
- $body$
- language plpgsql volatile;
- create trigger test_tg_ad_main_delete
- after delete
- on main
- for each row
- execute procedure test_tfnc_main_delete();
- create trigger test_tg_ad_main_p1_delete
- after delete
- on main_p1
- for each row
- execute procedure test_tfnc_main_delete();
- create trigger test_tg_ad_main_p2_delete
- after delete
- on main_p2
- for each row
- execute procedure test_tfnc_main_delete();
- -- and so on for each partition
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement