Re: (trigger function) -> ERROR: NEW used in non-rule query

From: Terence Kearns <terencek(at)isd(dot)canberra(dot)edu(dot)au>
To: Richard Huxton <dev(at)archonet(dot)com>
Cc: Terence Kearns <terencek(at)isd(dot)canberra(dot)edu(dot)au>, pgsql-sql(at)postgresql(dot)org
Subject: Re: (trigger function) -> ERROR: NEW used in non-rule query
Date: 2003-07-18 09:18:20
Message-ID: 3F17BB5C.4020803@cts.canberra.edu.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Richard Huxton wrote:
> On Friday 18 Jul 2003 9:22 am, Terence Kearns wrote:
>
>>I'm writing a trigger which wants to reference the pre-defined NEW record.
>>
>>I can do this
>>idval := NEW.blah;
>>
>>This works fine!!!
>>
>>What I really need to do is
>>idval := NEW.(quote_ident(TG_ARGV[3]));
>>or this
>>idval := NEW.(TG_ARGV[3]);
>
>
> I'll give you the short answer - no you can't do this (in plpgsql). Which
> isn't to say it'll never be possible, but not at the moment.
>
> Can you afford to look at an alternative language? I'd suggest looking at TCL,
> although I must admit I've never used it myself.
>
>

damn. There's realy no other way for me to access the value since the
trigger function will be called from different relations.

I tried idval := (''NEW.'' || TG_ARGV[3]); but recieved
ERROR: pf_atoi: error in "NEW.blah": can't parse "NEW.blah"

Oh well, can't win them all :/

Well I suppose I could try TCL. The problem is that there is little to
no documentation on postgres stored procedures in TCL and I've never
even seen the language before. None the less, I'll look into it. It's
almost worth it. If that fails, I may even try perl <shudders>. if that
files, I will try to get --with-python to configure (which it's refusing
to do at the moment even though I have a working installation).

--
Terence Kearns ~ ph: +61 2 6201 5516
IT Database/Applications Developer
Enterprise Information Systems
Client Services Division
University of Canberra
www.canberra.edu.au

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Richard Huxton 2003-07-18 13:06:00 Re: (trigger function) -> ERROR: NEW used in non-rule query
Previous Message Richard Huxton 2003-07-18 09:03:42 Re: (trigger function) -> ERROR: NEW used in non-rule query