From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Excepciones en funciones sql |
Date: | 2007-06-13 15:17:25 |
Message-ID: | 20070613151725.GA11499@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Raul Andres Duque escribió:
> Gracias Alvaro por tu respuesta.
>
> Pero entonces :
> 1. Cómo puedo saber si TODAS las sentencias SQL se ejecutaron
> correctamente?
Bueno, si la transaccion está en estado OK, entonces todas las
sentencias se ejecutaron correctamente
> o si actualizaron datos?
Eso lo puedes saber preguntandole cuantos registros actualizó
(cómo hacer eso, depende del driver y lenguaje que estés usando)
> 2. Si se genera un error se hace un ROLLBACK a la transacción en la cual se
> ejecuta (implicitamente) el SP?
Si se genera un error, se hace un rollback a la transaccion en curso, o
al savepoint en que se está ejecutando. Está de más decir que puedes
usar savepoints directamente con la orden SAVEPOINT.
Supongo que está de más decir que si tu transacción tiene una sola
sentencia entonces es una pérdida de tiempo abrir un savepoint ...
> Aunque por la respuesta anterior creo que la sugerencia es siempre usar
> algún pl, así sea suficiente con un SP sql.
Por supuesto que no. Usa SP cuando sean necesarios. En SQL plano
puedes hacer casi todo lo que necesitas, así que la mayoría del tiempo
no hacen falta los SPs. Alguna gente los prefiere de todas formas para
ahorrarse escribir middleware al lado de la aplicación. Eso ya depende
de la forma que quieras darle a tu aplicación.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-06-13 16:12:19 | Re: Funciones C |
Previous Message | Raul Andres Duque | 2007-06-13 15:06:40 | Re: Excepciones en funciones sql |