Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create database testTrigger;
- createlang plpgsql testtrigger;
- \connect testtrigger
- create table Parent( node INTEGER);
- create table Child ( node INTEGER);
- \d parent
- \d Child
- CREATE LANGUAGE plpgsql;
- CREATE FUNCTION fix_child_function() RETURNS trigger AS $fix_child$
- BEGIN
- --Check ifthere were
- IF(TG_OP = 'UPDATE') THEN
- UPDATE Child SET node = NEW.node where node = OLD.node
- RETURN NEW;
- ELSIF(TG_OP = 'DELETE') THEN
- delete from Child where node = OLD.node
- RETURN NEW;
- END IF;
- RETURN NULL;
- END
- $fix_child$ LANGUAGE plpgsql;
- CREATE TRIGGER fix_child BEFORE UPDATE OR DELETE ON Parent FOR EACH ROW EXECUTE PROCEDURE fix_child_function();
- INSERT INTO parent values(1);
- INSERT INTO parent values(2);
- INSERT INTO parent values(3);
- INSERT INTO parent values(4);
- INSERT INTO child values(2);
- INSERT INTO child values(3);
- INSERT INTO child values(4);
- select * from parent;
- select * from child;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement