Sigurdur Helgason wrote:
> Hi!
>
> I am trying to fetch a value from a column, where the
> columnname is a value in another column.
>
> See below ..
>
> table constraint_1 (
> ...
> cons_col VARCHAR(15) NOT NULL,
> ...
> )
>
>
> Then in the trigger (written in plpgsql) I want to
> fetch the appropriate column from the NEW record.
> --- trigger --
> bla bla bla...
>
> select cons_col from constraint_1 where bla = bla ...
> -- the_val := NEW.cons_col;
>
> bla. bla .bla.
> return NEW;
> bla bla bla..
> ----
>
> Well I have tried a couple different things .. none
> seem to work. I know that this is possible if the
> trigger is written in C .. but it might be nice to
> know how to do this in plpgsql.
> Anyone out there that knows how to do this?
>
>
I think something like the following should do:
SELECT INTO cl_nm cons_col FROM constrait_1 WHERE ..........
EXECUTE ''SELECT * FROM tbl WHERE '' || quote_ident(cl_nm) || ''=.......'';
the plpgsql docs contain more docs for EXECUTE (such as when to use quote_ident)
hth,
- Stuart