Dear Adrian!

Thank you for the information. For me the main question is that:
Can I execute an UPDATE in the  AFTER INSERT trigger procedure?
Or is this confuses PGSQL, because prior operation (INSERT) isn't fully
finished?

Thank you!

BR,
dd

Adrian Klaver <adrian.kla...@aklaver.com> ezt írta (időpont: 2022. máj.
23., H, 19:42):

> On 5/23/22 10:35 AM, Durumdara wrote:
> > Hello!
> >
> > I need to log some row changes in a table with JSON format (row_to_json).
> >
> > In the Before Update I can select the row into a column with JSON format.
> > And in After Update I can log this column into an archive table.
> > Plus I have the prior data in the JSON_TEXT field.
>
> You need to read:
> https://www.postgresql.org/docs/current/plpgsql-trigger.html
>
> >
> > But this technique isn't working in insert, because no OLD.id. and OLD
> row:
> >
> >     select row_to_json(thistable) into json_text_var
> >     from thistable where id = ???.id;
> >     No row!!! Only NEW.nn variables.
>
> Yes an INSERT is a new value only there is no old row(value) available.
> In the doc link I posted:
>
> "
> TG_OP
>
>      Data type text; a string of INSERT, UPDATE, DELETE, or TRUNCATE
> telling for which operation the trigger was fired.
> "
>
> Use this to modify what value(NEW/OLD) you are working with. Call
> trigger with UPDATE and INSERT.
>
> >
> > Version: PGSQL 9.6-11
> >
> > Thank you for your help!
> >
> > Best regards,
> >     dd
> >
>
>
> --
> Adrian Klaver
> adrian.kla...@aklaver.com
>

Reply via email to