Seleccionar página

Copia con modificaciones de una fila en PL/PGSQL

por | Mar 4, 2011 | GNU / Linux

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;

Te puede interesar…

0 comentarios

Enviar un comentario

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