Re: Delete trigger - Mailing list pgsql-general

From Albe Laurenz
Subject Re: Delete trigger
Date
Msg-id A737B7A37273E048B164557ADEF4A58B50FA8DB3@ntex2010i.host.magwien.gv.at
Whole thread Raw
In response to Re: Delete trigger  (Leif Jensen <leif@crysberg.dk>)
Responses Re: Delete trigger
List pgsql-general
Leif Jensen wrote:
>    If I do "DELETE FROM devicegroup WHERE group=1" I do not want to delete anything. I only want to
> delete if I do "DELETE FROM devicegroup WHERE groupid=x AND ctrlid=y AND userid=z". I don't wanna let
> anyone delete more than 1 row at a time.

I can't think of a way to do that with a trigger.

I'd write a
  FUNCTION delete_devicegroup(groupid integer, ctrlid integer, userid integer)
    RETURNS void CALLED ON NULL INPUT VOLATILE SECURITY DEFINER
that enables the user to delete a row and checks that all arguments
are NOT NULL.  The user doesn't get privileges to DELETE from the table directly.

Yours,
Laurenz Albe


pgsql-general by date:

Previous
From: Leif Jensen
Date:
Subject: Re: Delete trigger
Next
From: Leif Jensen
Date:
Subject: Re: Delete trigger