Re: Update columns in the same table in a deferred constraint trigger

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Andreas Joseph Krogh <andreas(at)visena(dot)com>
Cc: postgres list <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Update columns in the same table in a deferred constraint trigger
Date: 2014-07-29 10:01:48
Message-ID: CAFj8pRCUtTwiMnokk6=V7g=wj2Pji-yCvUOxNQK_vVtYmnDSYg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

2014-07-29 11:59 GMT+02:00 Andreas Joseph Krogh <andreas(at)visena(dot)com>:

> På tirsdag 29. juli 2014 kl. 11:56:17, skrev Pavel Stehule <
> pavel(dot)stehule(at)gmail(dot)com>:
>
> Hi
>
> 2014-07-29 11:52 GMT+02:00 Andreas Joseph Krogh <andreas(at)visena(dot)com>:
>>
>> Hi all.
>>
>> I have this simple schema:
>>
>> create table fisk(
>> name varchar primary key,
>> autofisk varchar
>> );
>>
>> I want to update the column "autofisk" on commit based the value of
>> "name", so I created this trigger:
>>
>> CREATE OR REPLACE FUNCTION fisk_tf() returns TRIGGER AS $$
>> BEGIN
>> raise notice 'name %', NEW.name;
>> NEW.autofisk = NEW.name || CURRENT_TIMESTAMP::text;
>> RETURN NEW;
>> END;
>> $$ LANGUAGE plpgsql;
>>
>> CREATE CONSTRAINT TRIGGER fisk_t AFTER INSERT OR UPDATE ON fisk
>> DEFERRABLE INITIALLY DEFERRED
>>
>
> It should be BEFORE INSERT OR UPDATE trigger
>
>
> He he, yes - I know that will work, but I need the trigger to be run as a
> constraint-trigger, on commit, after all the data is populated in other
> tables and this table.
>

It is not possible - Postgres can change data only before writing.

Regards

Pavel

>
> --
> *Andreas Joseph Krogh*
> CTO / Partner - Visena AS
> Mobile: +47 909 56 963
> andreas(at)visena(dot)com
> www.visena.com
> <https://www.visena.com>
>
>

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Andreas Joseph Krogh 2014-07-29 10:05:42 Re: Update columns in the same table in a deferred constraint trigger
Previous Message Andreas Joseph Krogh 2014-07-29 09:59:09 Re: Update columns in the same table in a deferred constraint trigger