Re: Delete trigger - Mailing list pgsql-general

From Charles Clavadetscher
Subject Re: Delete trigger
Date
Msg-id 01ef01d0f1ee$531f8730$f95e9590$@swisspug.org
Whole thread Raw
In response to Delete trigger  (Leif Jensen <leif@crysberg.dk>)
Responses Re: Delete trigger
List pgsql-general
Hello

Not sure I get it right, but all three fields are not nullable. So they will always have a value, which is what I
understandof "are specified". 
What do you need the trigger for in that case?

Bye
Charles

> -----Original Message-----
> From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Leif Jensen
> Sent: Freitag, 18. September 2015 10:23
> To: pgsql-general <pgsql-general@postgresql.org>
> Subject: [GENERAL] Delete trigger
>
>    Hi,
>
>    I am running PostgreSQL 9.3.4. I have a simple table with 3 fields:
>
> CREATE TABLE devicegroup (
>     groupid integer NOT NULL,
>     ctrlid integer NOT NULL,
>     userid integer NOT NULL
> );
> ALTER TABLE ONLY devicegroup
>     ADD CONSTRAINT pk_devicegroup PRIMARY KEY (groupid, ctrlid, userid);
>
>    I want to make sure that records are only deleted when all 3 fields are specified, so I tried make a trigger:
>
> CREATE TRIGGER userDev_trig INSTEAD OF DELETE ON admdevgrid FOR EACH STATEMENT
>       EXECUTE PROCEDURE deleteUserDev();
>
> which could check for NOT NULL on the 3 fields before actual doing the delete. Unfortunately this is not possible to
> do FOR EACH STATEMENT, and FOR EACH ROW would not give me the chance to check for NOT NULL.
>
>    Any ideas ?
>
>  Leif
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general



pgsql-general by date:

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