Re: COMMIT WORK y COMMIT TRANSACTION

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.

--
http://espartano.linuxreal.org/blog/html/index.php

In response to

Responses

Browse pgsql-es-ayuda by date

  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