Re: Delete trigger - Mailing list pgsql-general

From Leif Jensen
Subject Re: Delete trigger
Date
Msg-id 1456658027.5268060.1442569958125.JavaMail.zimbra@crysberg.dk
Whole thread Raw
In response to Re: Delete trigger  (Albe Laurenz <laurenz.albe@wien.gv.at>)
Responses Re: Delete trigger
Re: Delete trigger
List pgsql-general
Hello Laurenz,

   Thank you for you suggestion. I really want to aviod that someone 'accidentally' deletes too much by typing
(programming)a not full qualified DELETE ... statement. In your case one would have to always use the delete function,
butno restrictions on using the DELETE statement. 

 Leif


----- Original Message -----
> 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: Albe Laurenz
Date:
Subject: Re: Delete trigger
Next
From: Sathiyan Subramanian
Date:
Subject: Re: Online backup of PostgreSQL data.