PostgreSQL - Uso de COMMIT [TRANSACTION]

 
Vista:

Uso de COMMIT [TRANSACTION]

Publicado por Manoloide (2 intervenciones) el 05/09/2005 10:11:23
Hola

a ver si alguien puede ayudarme y me dice como se usaría eso del COMMIT [TRANSACTION] en una funcion de postgre, por ejemplo

CREATE FUNCTION inserta_afectado (TEXT,TEXT,TEXT,TEXT,TEXT)
RETURNS VOID AS
'

DECLARE id INTEGER;

BEGIN

INSERT INTO ...;

INSERT INTO ...;

INSERT INTO ...;


RETURN;

END;
'
LANGUAGE 'plpgsql' VOLATILE;

Muchas gracias

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Uso de COMMIT [TRANSACTION]

Publicado por Julio (4 intervenciones) el 09/09/2005 03:12:08
Primero: Cuando creas un procedimiento o una función NUNCA pero NUNCA es recomendable cerrar la transacción dentro de la función, tienes que hacerlo desde la llamada y si todo esta OK desde donde llamas a la función cierras la transacción.

Segundo: En postgresql no es necesario que hagas el commit, este ya lo hace, lo si puedes hacer es validaciones para que mandes la orden a tu aplicación o desde donde estas llamanda la función para que haga el ROLLBACK en el caso de errores.

---
BEGIN
INSERT INTO
.
.
.
EXCEPTION
WHEN CHECK_VIOLATION THEN
RAICE_NOTICE 'Error, violación de check..'
WHEN .... THEN

WHEN .... THEN

END;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar