Copia con modificaciones de una fila en PL/PGSQL

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;

Conocimiento Open Source 

Desde siempre intentamos aplicar la filosofía Open Source también con el conocimiento, por ello nació el Blog Open Source, donde nuestros desarrolladores comparten notas, consejos y tutoriales sobre tecnología y desarrollo, soluciones a problemas diarios, bugs o cualquier información que creemos, puede ser interesante.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *