Re: Stored Proc Problem - Mailing list pgsql-general

From Tom Lane
Subject Re: Stored Proc Problem
Date
Msg-id 6236.1185854960@sss.pgh.pa.us
Whole thread Raw
In response to Stored Proc Problem  (Robert Landrum <rlandrum@aol.net>)
List pgsql-general
Robert Landrum <rlandrum@aol.net> writes:
> I'm writing a stored procedure that will execute as a trigger.
> Arguments being passed to the procedure are field names.

> My goal is to convert those field names into the field values.  However,
> I've not been successful.  I thought that the following should have worked.

> EXECUTE ''field_val := NEW.''||tg_argv[1]||'';'';

> Nor does

> EXECUTE ''SELECT INTO field_val NEW.''||tg_argv[1]||'';'';

> I've tried using open for execute too...  No luck.

> Is this possible in pure SQL?

Well, that's not "pure SQL", it's plpgsql ... but the answer is no.
plpgsql can't deal with selection of run-time-specified fields from
its variables.  You'd have better luck coding this in one of the other
PL languages.

            regards, tom lane

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: PostgreSQL, PGDAY, PGParty and OSCON 2007 Rocked!
Next
From: Ronald Rojas
Date:
Subject: alter table table add column