Re: Need help with trigger - Mailing list pgsql-general

From Condor
Subject Re: Need help with trigger
Date
Msg-id 533ed7d44063dca8b45626816aa51cad@stz-bg.com
Whole thread Raw
In response to Re: Need help with trigger  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: Need help with trigger
List pgsql-general
On 23-01-2021 20:49, Adrian Klaver wrote:
> On 1/23/21 10:20 AM, Condor wrote:
>> On 23-01-2021 18:31, Adrian Klaver wrote:
>>> On 1/23/21 4:57 AM, Condor wrote:
>>>> 
>>>> 
> 
>>> 
>>> So do an UPDATE and the RETURN NULL to cancel the INSERT. Untested 
>>> example:
>>> 
>>> UPDATE arhive_table SET sendto = 0, uts = date_part('epoch',
>>> CURRENT_TIMESTAMP)::integer WHERE contract = NEW.contract AND service
>>> = NEW.service;
>>> 
>>> RETURN NULL;
>>> 
>> 
>> 
>> Yep, I think about this update and was my first approach but need to 
>> be done only if end_date is different.
>> If end_date is the same this mean contract still exists so only update 
>> lastseen column, if the lastseen is not updated other process will 
>> read not seen contracts and will generate report and send them to 
>> delete services. If lastseen is changed and sendto is zero again, mean 
>> end_date is changed and need to be send new end_date again to other 
>> systems.
> 
> So add an:
> 
> ELSIF enddate = FROM NEW.end_date THEN
> 
> and do UPDATE of lastseen column.
> 
> Honestly I think this better handled by the external program that
> doing the transformation.
> 
>> 
>> 
>> 


Sorry,

I'm sorry, I don't understand something. You mean to do pure INSERT ON 
CONFLICT DO or to modify the trigger ?



pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Need help with trigger
Next
From: robert rottermann
Date:
Subject: ubuntu 18: PostgreSQL does not start. how can I totally remove and reinstall it