###############
#TABLA PADRE#
##############
      |1
      |
      |N
#############
#TABLA HIJA#
#############

Dada esta estructura tengo una función que crea cada un intervalo de tiempo un registro en la tabla padre. Dentro de este intervalo se tiene que poder crear múltiples registros dentro de la tabla hija con la la fk de la tabla padre desde afuera de la función. El problema es que mientras está ejecutándose la función que crea la tabla padre no puedo ver los datos que han sido creados por la función ya que no ha terminado.
Se que no se puede hacer un commit dentro de una función.

¿Existe alguna manera que se puedan materializar los cambios realizados (Entiéndase el INSERT INTO) antes que termine la función y que si termina no se haga un rollback?

Función:


WHILE X= True LOOP
    INSERT INTO padre(lo_que_sea) VALUES('eee') RETURNING id INTO VAR_ID;
    RAISE NOTICE 'CREO LLAVE VAR_ID;
    PERFORM pg_sleep(60);
END Loop;


Gracias.



---- ADVERTENCIA ---- La información contenida en este correo electrónico, y en 
su caso, cualquier fichero anexo al mismo, son de carácter privado y 
confidencial, y se encuentra protegida por la ley N° 19628 y/o por los 
contratos de confidencialidad firmados con el emisor, siendo para uso exclusivo 
de su destinatario. Si usted no es el destinatario correcto, el empleado o 
agente responsable de entregar el mensaje al destinatario, o ha recibido esta 
comunicación por error, le informamos que está totalmente prohibida cualquier 
divulgación, distribución o reproducción de esta comunicación según la 
legislación vigente y le rogamos que nos lo notifique inmediatamente, 
procediendo a su destrucción sin continuar su lectura.

--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
   (envía "unregister TuDirecciónDeCorreo" a majord...@postgresql.org)

Responder a