From: | Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
---|---|
To: | "'Leif Jensen *EXTERN*'" <leif(at)crysberg(dot)dk>, Charles Clavadetscher <clavadetscher(at)swisspug(dot)org> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Delete trigger |
Date: | 2015-09-18 09:21:23 |
Message-ID: | A737B7A37273E048B164557ADEF4A58B50FA8DB3@ntex2010i.host.magwien.gv.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Leif Jensen | 2015-09-18 09:52:38 | Re: Delete trigger |
Previous Message | Leif Jensen | 2015-09-18 08:49:32 | Re: Delete trigger |