On 8/12/23 13:09, Rhys A.D. Stewart wrote:
Greetings all, I am writing a trigger and would like to know how to dynamically access a column from the "OLD" variable. pk_col is the column name from the table. I've come up with either doing this: EXECUTE format('SELECT $1.%1$I', pk_col) INTO pk_val USING OLD;
Got focused on pk_val = OLD[pk_col] and missed the low hanging fruit: pk_val = OLD.pk_col
which looks a bit excessive, or this pk_val = to_jsonb(OLD.*)->pk_col which looks cleaner, but then I am having to incur a little overhead by using the to_jsonb function. Ideally, something like this would be great: pk_val = OLD[pk_col] but evidently we can't subscript ROW types. Am I missing out on a simpler or more elegant solution? Rhys Peace & Love | Live Long & Prosper
-- Adrian Klaver adrian.klaver@xxxxxxxxxxx