EL problema es que la base de datos maneja SQL no procesamiento. Esa forma de 
hacer las cosas es mala idea. Si quieres hacer una prueba algo simple.Ejecuta 
un ciclo de 1000 records y muevete en el haciendo cualquier cosa y haz ese 
mismo ciclo en un lenguaje como php, perl o lo que mas te guste , entonces 
veras la diferecia
Como diria Alvaro, esta optimizada para sentencias declarativas, es decir, SQL 

Date: Wed, 19 Sep 2012 22:36:33 +0100
From: [email protected]
Subject: Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Ayuda Manejo de 
transacciones en una función.
To: [email protected]; [email protected]; [email protected]; 
[email protected]

Es raro lo que dices que será eterno, si se supone que esa capa de 
procesamiento pesado de datos la debe manejar la BD y no una capa de 
persistencia en el medio.


        De: Edwin Quijada <[email protected]>
 Para: [email protected]; [email protected]; 
"[email protected]" <[email protected]> 
 Enviado: Miércoles 19 de septiembre de 2012 13:02
 Asunto: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Ayuda Manejo de transacciones en 
una función.
   




1- No se puede porque una funcion en si misma ya es una transaccion, es decir, 
que si la abortas se abortaran los 800002- No hay que hacer commit por 13- Para 
lo que deseas tendras que usar al scripting languaje, asi envias cada record 
con su respectivo commit y obtendrias lo que deseas4- Hacer un ciclo de 80000 
records en una funcion es MUY MALA IDEA ese proceso tardara horas,depende lo 
que haga, para procesar esos 80M records. Lo que te sugiero es que uses perl, 
php o lo que mas te guste para hacer ese trabajo y no dentro de la BD 
porque,aparte de que no se puede como quieres, sera eterno.

From: [email protected]
Date: Wed, 19 Sep 2012 10:18:18 -0500
Subject: [pgsql-es-ayuda] Ayuda Manejo de transacciones en una función.
To: [email protected]; [email protected]

Hola Grupo
 Buenos Días,
Tengo una función que realiza cálculos a unos 80 mil registros los registros 
los recorro en un cursor y se hace calculo registro por registro y quiero que 
no se haga commit al final de todo el procesamiento si no que se haga commit 
por cada registro procesado y saber si se proceso o hubo algún error. como 
puedo hacer eso?? de antemano gracias por la ayuda que me puedan dar.



Att.Jorge Garcia                                          


                                          

Responder a