Delete trigger - Mailing list pgsql-general

From Leif Jensen
Subject Delete trigger
Date
Msg-id 1709961348.5265057.1442564576985.JavaMail.zimbra@crysberg.dk
Whole thread Raw
Responses Re: Delete trigger
List pgsql-general
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
FOREACH STATEMENT, and FOR EACH ROW would not give me the chance to check for NOT NULL. 

   Any ideas ?

 Leif


pgsql-general by date:

Previous
From: Guillaume Lelarge
Date:
Subject: Re: Broken primary key after backup restore.
Next
From: "Charles Clavadetscher"
Date:
Subject: Re: Delete trigger