Seleccionar página

Una operación que he necesitado hacer en una función de PL/PGSQL es copiar una fila de una tabla en la propia tabla, pero haciendo modificaciones de alguno de sus campos. Lo ideal es no necesitar conocer el resto de los campos que van a quedar igual en la copia, únicamente nos interesan los campos a modificar. He aquí la solución:

DECLARE
 node tablaacopiar%rowtype;
 newNode tablaacopiar%rowtype;
BEGIN
 FOR node IN SELECT * FROM tablaacopiar WHERE ...
   newNode := node;
   newNode.campo1='blahblha';
   newNode.otrocampo='patatin';
   INSERT INTO tablaacopiar SELECT newNode.*;
 END LOOP;
END;