From: | Espartano <espartano(dot)mail(at)gmail(dot)com> |
---|---|
To: | "ricardo yanguma" <ricardo(dot)yanguma(at)gmail(dot)com> |
Cc: | Postgres Español <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: COMMIT WORK y COMMIT TRANSACTION |
Date: | 2006-11-01 20:27:17 |
Message-ID: | d353bd50611011227r3ea1d2dat4345f49f28fd6883@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 11/1/06, ricardo yanguma <ricardo(dot)yanguma(at)gmail(dot)com> wrote:
> hola lista..
>
> tengo la siguiente funcion
>
> CREATE OR REPLACE FUNCTION nr_fasignacion(coddpto int4, basedatos varchar,
> codest int4, codper int4) RETURNS numeric(10,2) AS
> $body$
> declare
>
> begin
> insert into tabla1 (campo1, campo2, campo3)
> select campo1, campo2, campo3
> from tabla2
> where campo1=1;
>
> commit transaction;
>
> update tabla3 set campo4=1
> where campo2 in (select campo2 from tabla1 where campo3=1);
> commit transaction;
>
> end;
> $body$
> LANGUAGE 'plpgsql' VOLATILE;
>
>
> la situacion es la siguiente
>
> se insertan un datos a una tabla1 y con base en es insercesión se necesita
> actualizar las tabla3.
>
> estoy utilizando el commit transaction pero me sale el siguiente error
>
> ERROR: SPI_execute_plan failed executing query "COMMIT TRANSACTION":
> SPI_ERROR_TRANSACTION
> CONTEXT: PL/pgSQL function "nr_fasignacion" line 79 at SQL statement
>
>
> y no entiendo que estoy haciendo mal.
>
> Ustede me puede ayudar con este tema?
>
>
>
>
La funcion implicitamente se ejecuta dentro de un commit, no tienes
necesidad de poner el commit de tu funcion, por eso te marca error.
From | Date | Subject | |
---|---|---|---|
Next Message | ricardo yanguma | 2006-11-01 20:34:35 | Re: COMMIT WORK y COMMIT TRANSACTION |
Previous Message | CArlos Tineo | 2006-11-01 19:09:41 | Re: ayuda con elevar informacion a una tabla |