pl/pgsql RECORD data type, how to access to the values - Mailing list pgsql-general

From Guillaume Bog
Subject pl/pgsql RECORD data type, how to access to the values
Date
Msg-id bc5951d00804050039y6442438fwefb114c96f2d7292@mail.gmail.com
Whole thread Raw
Responses Re: pl/pgsql RECORD data type, how to access to the values  ("Pavel Stehule" <pavel.stehule@gmail.com>)
List pgsql-general
Hello,

I'm writing a trigger in pl/pgSQL and I'd like to pass one column name as argument to the trigger function.

Provided my table has only one column named 'id', I can do easilly

CREATE FUNCTION ft() RETURNS trigger AS $$
  BEGIN
  RAISE NOTICE 'It works:%', OLD.id;
  END
$$ LANGUAGE plpgsql;

But I'd like to do

CREATE FUNCTION ft() RETURNS trigger AS $$
  DECLARE
    col VARCHAR;
  BEGIN
    col = TG_ARGV[0]
    RAISE NOTICE 'This does not works:%', OLD.col
    RAISE NOTICE 'This also does not works:%', OLD[col]
  END
$$ LANGUAGE plpgsql;

I tried OLD.(col) and other tricks, like "SELECT INTO" or "EXECUTE", and I checked the docs.

pgsql-general by date:

Previous
From: "Brent Wood"
Date:
Subject: Re: pg_dump and schemas
Next
From: Thomas Pundt
Date:
Subject: Re: Word boundaries in regular expressions