Copia con modificaciones de una fila en PL/PGSQL. 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;
0 comentarios