From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Condor <condor(at)stz-bg(dot)com> |
Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Need help with trigger |
Date: | 2021-01-23 18:49:27 |
Message-ID: | 3294def5-09f6-c384-d1fe-f5faf4bcf797@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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.
>
>
>
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Condor | 2021-01-23 20:14:09 | Re: Need help with trigger |
Previous Message | Condor | 2021-01-23 18:20:18 | Re: Need help with trigger |