2012/9/19 Jorge Garcia <[email protected]>:
>
> 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.
>

Saludos,

Estamos hablando de una función almacenada aquí? Si es así, toda la
función ocurre dentro de la misma transacción que invoco a la función,
si no había una transacción abierta la función abre una transacción
automáticamente al iniciar y la cierra con COMMIT al terminar o con
ROLLBACK si algún error ocurrió.

Si no quieres que no poder procesar un registro termine todo lo
avanzado puedes usar SAVEPOINT para atrapar el error y evitar que la
función termine.

-- 
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación

-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a