From: | Gilberto Castillo Martínez <gilberto(dot)castillo(at)etecsa(dot)cu> |
---|---|
To: | Jorge Jacques <jorge(at)eskalonnetwork(dot)com> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Se pueden usar Transacciones desde una funcion? |
Date: | 2010-02-16 17:59:40 |
Message-ID: | 1266343180.12484.33.camel@gilbertoc.mtcorp.etecsa.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El mar, 16-02-2010 a las 11:31 -0600, Jorge Jacques escribió:
> Hola, buen día
>
> Estoy intentando usar transacciones en una función:
>
> CREATE OR REPLACE FUNCTION "public"."fx_hacer_entrada_por_concepto" (in
> int4, in float8, in int4) RETURNS bool AS
> $BODY$
> DECLARE
> id_usuario ALIAS FOR $1;
> id_concepto ALIAS FOR $3;
> cant ALIAS FOR $2;
> id_caja INT;
> id_ticket INT;
> BEGIN
> SAVEPOINT rescate;
> id_caja := nextval('caja_caja_id_seq'::regclass);
> id_ticket :=
> nextval('entradas_por_concepto_entrada_por_concepto_id_seq'::regclass);
>
> INSERT INTO caja VALUES (id_caja, id_ticket, cant, true);
> IF NOT FOUND THEN
> ROLLBACK TO rescate;
> RETURN FALSE;
> END IF;
> INSERT INTO entradas_por_concepto VALUES (id_ticket, id_concepto);
> INSERT INTO transacciones (transaccion_id, caja_id, usuario_id,
> tipo_de_transaccion_id, registro_id, fecha_hora) VALUES (DEFAULT,
> id_caja, id_usuario, 2, id_ticket, CURRENT_TIMESTAMP);
> COMMIT;
> RETURN TRUE;
> END
> $BODY$
> LANGUAGE 'plpgsql'
>
> Pero al llamarla:
> select fx_hacer_entrada_por_concepto(1, 10000, 1);
>
> Obtengo un error:
> >[Error] Script lines: 1-3 --------------------------
> ERROR: SPI_execute_plan failed executing query "SAVEPOINT rescate":
> SPI_ERROR_TRANSACTION
> Line: 1
>
> Alguna idea? Desde ya muchas gracias.
>
No se puede.
--
Saludos,
Gilberto Castillo
Edificio Beijing. Miramar Trade Center. Etecsa.
Miramar, La Haban.Cuba.
Attachment | Content-Type | Size |
---|---|---|
unknown_filename | text/plain | 179 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2010-02-16 18:08:17 | Re: Se pueden usar Transacciones desde una funcion? |
Previous Message | Jorge Jacques | 2010-02-16 17:31:15 | Se pueden usar Transacciones desde una funcion? |