Re: trigger to access only the last transaction

From: avpro avpro <avprowebeden(at)gmail(dot)com>
To: Marcos Almeida Azevedo <marcos(dot)al(dot)azevedo(at)gmail(dot)com>
Cc: "pgsql-novice(at)postgresql(dot)org" <pgsql-novice(at)postgresql(dot)org>, pgsql-sql(at)postgresql(dot)org
Subject: Re: trigger to access only the last transaction
Date: 2015-03-09 07:50:17
Message-ID: CAAQdDnm3gWVxHCu+B0ss5P5XmtqVfJ-wMnDM_Sz1wJ5jZxXOhQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice pgsql-sql

Sorry I forgot to mention: last insert could have multiple rows inserted
and I would like to access all of them, not necessarily only the last one.
That's my problem. Or I misunderstand the "last entry".
Thank you.
On 9 Mar 2015 08:29, "Marcos Almeida Azevedo" <marcos(dot)al(dot)azevedo(at)gmail(dot)com>
wrote:

>
>
> On Mon, Mar 9, 2015 at 6:01 AM, avpro avpro <avprowebeden(at)gmail(dot)com>
> wrote:
>
>> hi all,
>>
>> i have two tables with several columns:
>> table1
>> idtaskhistory
>> performedat
>> ...
>> idtask
>>
>> and
>>
>> table2
>> idtask,
>> manualdueat
>> .....
>>
>>
>> i created a trigger that does the following:
>>
>> CREATE TRIGGER del1
>> AFTER INSERT
>> ON table1
>> FOR EACH ROW
>> EXECUTE PROCEDURE taskdel;
>>
>> taskdel:
>> CREATE OR REPLACE FUNCTION taskdel()
>> RETURNS trigger AS
>> $BODY$begin
>> update table2
>> SET
>> manualdueat = null,
>> FROM table1,
>> where table1.idtask = table2.idtask;
>> return new;
>> END$BODY$
>> LANGUAGE plpgsql VOLATILE
>> COST 100;
>> ALTER FUNCTION taskdel()
>> OWNER TO user1;
>>
>> my idea was to have the info from column "manualdueat" deleted after the
>> table1 has been updated. the problem i face is that all columns from table2
>> will be deleted, not only my last entry where the insert has been done (I
>> was thinking that table1.idtask = table2.idtask will work, but isn't); my
>> question to you would be how to access only the last insert id in table1
>> and make this trigger working. or do you have another walk arround?
>>
>
> How about querying and order by primary key descending and get the first
> one?
>
>
>
>> I'm using psql 9.4 on a windows system
>>
>> thank you for your ideas,
>> John
>>
>
>
>
> --
> Marcos | I love PHP, Linux, and Java
> <http://javadevnotes.com/java-float-to-string-examples>
>

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message avpro avpro 2015-03-09 07:50:47 Re: trigger to access only the last transaction
Previous Message Frank Pinto 2015-03-09 07:46:46 Re: trigger to access only the last transaction

Browse pgsql-sql by date

  From Date Subject
Next Message avpro avpro 2015-03-09 07:50:47 Re: trigger to access only the last transaction
Previous Message Frank Pinto 2015-03-09 07:46:46 Re: trigger to access only the last transaction