From: | "July Campos" <jcampos(at)interactivedata(dot)com(dot)ve> |
---|---|
To: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Ayuda urgente con transacciones |
Date: | 2006-02-07 20:03:56 |
Message-ID: | 004901c62c21$a08065f0$32ee90c1@berlin |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola saludos a todos.
Utilizo la version 8.1.2.
Les tengo la siguiente pregunta: Como podría hacer para ejecutar una transacción (transaction) dentro de una función? La función es esta:
DROP FUNCTION PRUEBA_TRANSACCION;
CREATE OR REPLACE FUNCTION PRUEBA_TRANSACCION(integer)
RETURNS int4 AS
$BODY$
DECLARE
BEGIN
BEGIN;
if ($1=1)then
select * from solpeda_prov;
else
ROLLBACK TRANSACTION;
END IF;
COMMIT;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION PRUEBA_TRANSACCION(integer) OWNER TO postgres;
Esta función es solo una prueba que estoy haciendo para manejar una transaction dentro de una funcion y me arroja el siguente error: "ERROR: syntax error at or near ";" en el carácter 35".
Tambien he intentado usar START TRANSACTION, y nada que me sirve. Trate tambien de apagar el autocommit y dice que no es posible: "SET AUTOCOMMIT TO OFF is no longer supported".
Necesito envolver unos inserts en un bloque transaccional, que se encuentran a su vez dentro de un ciclo de comprobaciones para ejecutar las inserciones.
Ademas de saber si se pueden usar transacciones dentro de funciones, necesito saber si se pueden usar estas transacciones dentro de controles de estructuras.
Por favor si me pueden dar un ejemplo claro y preciso de cómo trabajar una transaction dentro de una funcion se los agradeceria.
Gracias de antemano.
From | Date | Subject | |
---|---|---|---|
Next Message | Hernán Jaramillo | 2006-02-07 20:12:37 | Consulta-HELP |
Previous Message | Gorka | 2006-02-07 15:24:08 | Re: Problema con pgadmin3 |