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
