| From: | Jeff Post <POSTJL(at)milwaukee(dot)k12(dot)wi(dot)us> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | Preventing Deletions with triggers |
| Date: | 2004-05-19 14:19:47 |
| Message-ID: | 6.1.0.6.0.20040519090934.025963a8@mail.milwaukee.k12.wi.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
I would like to have a trigger that fires whenever a delete is attempted.
The trigger should update the status field of the tupple (to remove the
tupple form the active set of tupples).
Here is what I got:
CREATE or replace FUNCTION person_fake_delete() RETURNS TRIGGER AS '
BEGIN
OLD.status := 1; -- This does the fake deletion
RETURN NULL; -- I thought this would prevent the delete from
actually happening.
END;
' LANGUAGE 'plpgsql';
create trigger person_fake_delete
before delete on person
for each row EXECUTE PROCEDURE
person_fake_delete();
This however does not work. the tupple is still deleted from the
table. Any Ideas?
Thanks,
Jeff Post
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Martin Knipper | 2004-05-19 14:42:58 | Function valid only for one table |
| Previous Message | Raphael A. Bauer | 2004-05-19 11:51:57 | Re: Very slow search using basic pattern matching |