From: | Miguel <mmiranda(at)123(dot)com(dot)sv> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | exceptions y rollback con secuencias |
Date: | 2005-11-16 20:23:17 |
Message-ID: | 437B9535.9080108@123.com.sv |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola, he implementado una funcion que usa secuencias, incremento la
secuencia a mitad de la funcion y al final evaluo si hubo errores,
leyendo el manual he encontrado que a lo que se hace rollback es a lo
que afecta las tablas de la base de datos, no asi a las variables
manipuladas dentro de la funcion, mi pregunta es: las secuencias entran
dentro de la primera o segunda categoria?, la secuencia es un folio asi
que no quiero que se aumente al haber un error, para ello he hecho algo
como esto:
BEGIN
BEGIN
vpais := 'SV';
INSERT INTO folios (pais,fecha,folio)
VALUES (vpais,current_date,NEXTVAL('folio_sv'));
EXCEPTION WHEN OTHERS THEN
RAISE NOTICE 'error al insertar folio';
PERFORM SETVAL('folio_sv',CURRVAL('folio_sv')-1);
END;
RETURN;
END;
En teoria si se da un error en la insercion, llave duplicada, etc, como
el exception no me hace rollback del incremento en la secuencia
'folio_sv', por eso hago el perform, hasta ahora no me ha reportado
ningun error, es esto valido y/o necesario?
Saludos
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2005-11-16 20:37:32 | Re: exceptions y rollback con secuencias |
Previous Message | Luis Sanhueza | 2005-11-16 20:09:44 | RE: apt-get ayuda celestial??? |