Preventing Deletions with triggers

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: Raw Message | Whole Thread | 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

Responses

Browse pgsql-sql by date

  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