Reece Hart <reece@xxxxxxxxx> wrote: > c := 'INSERT INTO ' || ctable || ' VALUES (NEW.*)'; > Now that my only idea is gone, the question for y'all is: how? > > ?(Okay, I actually do have one more idea: construct the insert values > list with quote_literal. I'm hoping there's a better way.) You need to do so in 8.3: EXECUTE 'INSERT INTO ' || ctable || ' VALUES( (' || quote_literal(new) || '::' || ptable || ').*)'; In 8.4, the next release, you will be able to use a better way: EXECUTE 'INSERT INTO ' || ctable || ' VALUES( ($1).* )' USING new; Regards, --- ITAGAKI Takahiro NTT Open Source Software Center