Hello plpgsql isn't good tool for this. use a plperl or plpython instead. your solution is extremly slow. Regards Pavel Stehule 2010/9/9 Nick <nboutelier@xxxxxxxxx>: > I need to dynamically update NEW columns. Ive been inserting the NEW > values into a temp table, updating them, then passing the temp table > values back to NEW (is there a better way?). Ive had success with this > method unless there is a null value... > > EXECUTE 'CREATE TEMP TABLE new AS SELECT $1.*' USING NEW; > EXECUTE 'UPDATE new SET ' || dyn_col_name || ' = 1'; > EXECUTE 'SELECT * FROM new' INTO NEW; > EXECUTE 'DROP TABLE new'; > > This last line... > EXECUTE 'SELECT $1.' || dyn_col_name INTO val USING NEW; > > gives the ERROR: could not identify column "col_one" in record data > type. > > However RAISE EXCEPTION '%',NEW.col_one; > returns "1" correctly. > > If col_one does does not start out as a null value, then everything > works. Why does the passing from temp table back to NEW lose the USING > functionality? > > -- > Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general > -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general