How to manipulate field in New record

Started by Lorusso Domenicoalmost 3 years ago4 messagesgeneral
Jump to latest
#1Lorusso Domenico
domenico.l76@gmail.com

Hello,
Looking for a global solution I've write e trigger function that as
optional parameter (argv[0]) receive the name of a specific parameter.

My need is to get the filed from NEW and OLD record manipulate and set back
the field with new value.

Problem 1: how to get and set this field
Problem 2: the field has Composit type

In reply to: Lorusso Domenico (#1)
Re: How to manipulate field in New record

On Wed, Jun 07, 2023 at 02:12:58PM +0200, Lorusso Domenico wrote:

Hello,
Looking for a global solution I've write e trigger function that as
optional parameter (argv[0]) receive the name of a specific parameter.

My need is to get the filed from NEW and OLD record manipulate and set back
the field with new value.

Problem 1: how to get and set this field
Problem 2: the field has Composit type

Do this in pl/perl, pl/python, pl/tcl or anything like this.

Or use one of methods shown here:
https://www.depesz.com/2021/04/21/getting-value-from-dynamic-column-in-pl-pgsql-triggers/

depesz

#3Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Lorusso Domenico (#1)
Re: How to manipulate field in New record

On 6/7/23 05:12, Lorusso Domenico wrote:

Hello,
Looking for a global solution I've write e trigger function that as
optional parameter (argv[0]) receive the name of a specific parameter.

My need is to get the filed from NEW and OLD record manipulate and set
back the field with new value.

A new row won't have the OLD RECORD.

Read:

https://www.postgresql.org/docs/current/plpgsql-trigger.html

and look at the examples.

Problem 1: how to get and set this field
Problem 2: the field has Composit type

--
Adrian Klaver
adrian.klaver@aklaver.com

#4Lorusso Domenico
domenico.l76@gmail.com
In reply to: Adrian Klaver (#3)
Re: How to manipulate field in New record

yes I know, the trigger should be before insert update and delete, and the
function decide what manipulate basing on TG_OP

Il giorno mer 7 giu 2023 alle ore 15:57 Adrian Klaver <
adrian.klaver@aklaver.com> ha scritto:

On 6/7/23 05:12, Lorusso Domenico wrote:

Hello,
Looking for a global solution I've write e trigger function that as
optional parameter (argv[0]) receive the name of a specific parameter.

My need is to get the filed from NEW and OLD record manipulate and set
back the field with new value.

A new row won't have the OLD RECORD.

Read:

https://www.postgresql.org/docs/current/plpgsql-trigger.html

and look at the examples.

Problem 1: how to get and set this field
Problem 2: the field has Composit type

--
Adrian Klaver
adrian.klaver@aklaver.com

--
Domenico L.

per stupire mezz'ora basta un libro di storia,
io cercai di imparare la Treccani a memoria... [F.d.A.]