Re: [pgsql-es-ayuda] Necesito un ejmplo de como utilizar una transacción en Postgres-SQL

From: "badillo" <badillo(at)cav(dot)desoft(dot)cu>
To: "Jaime Casanova" <systemguards(at)gmail(dot)com>
Cc: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "daly santana sanchez" <daly(at)inicia(dot)es>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Necesito un ejmplo de como utilizar una transacción en Postgres-SQL
Date: 2005-12-13 15:44:16
Message-ID: 006401c5fffc$1544a970$6601c0c0@cav.desoft.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Saludos, esta es la funcion. Mi pregunta es la siguinete como se que abortó
la transacción, en SQL existe

begin Transaction
comit
RollBack

Cuando ocurria algo inesperado se controlaba la sentecia y se redirijia para
que cancelara la transacción.

EJEMPLO DE LA FUNCION

CREATE OR REPLACE FUNCTION "public"."completar_solicitud_recuperacion_info"
(aid_solicitud integer, aid_usuario integer) RETURNS integer AS
$body$
declare rs_recuperacion_info tb_recuperacion_info%rowtype;

begin
for rs_recuperacion_info in
select * from tb_recuperacion_info where id_solicitud = aid_solicitud
loop
if not(null(id_expdiente))
then
select eliminar_documento(aid_usuario);
-
-
select eliminar_notas(aid_usuario);
else
select eliminar_carpeta(rs_recuperacion_info.id_carpeta, aid_usuario,
3);
end if;
end loop;
return aid_solicitud;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

----- Original Message -----
From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "badillo" <badillo(at)cav(dot)desoft(dot)cu>
Cc: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>; "daly santana sanchez"
<daly(at)inicia(dot)es>; <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Tuesday, December 13, 2005 9:38 PM
Subject: Re: [pgsql-es-ayuda] Necesito un ejmplo de como utilizar una
transacción en Postgres-SQL

On 12/13/05, badillo <badillo(at)cav(dot)desoft(dot)cu> wrote:
>
> Necesito utilizar una transacción en una función donde realizo varios
> recorridos por una tabla y además por cada registro se ejecutan varias
> consultas de inserción y actualización.
>

te refieres a una funcion de postgres? entonces ya estas dentro de una
transaccion, todas las funciones de postgres corren dentro de una
transaccion.

> ?Como puedo encerrar todo ese código en una transaccion.
>

el metodo general es

begin;
operaciones;
commit;

si no especificas "begin;" toda consulta estara dentro de una
transaccion implicita

> Gracias.
>
>
> ----- Original Message -----
> From: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
> To: "daly santana sanchez" <daly(at)inicia(dot)es>
> Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
> Sent: Friday, December 09, 2005 1:13 PM
> Subject: Re: [pgsql-es-ayuda] Función de hora
>
>
> > daly santana sanchez escribió:
> >> Hola!
> >> Tengo una tabla con una columna que recoge el número de segundos en una
> >> columna de tipo integer. Quiero crear una vista para mostrar los datos
> >> al
> >> usuario, pero esta columna debe de mostrarse en formato hora. Ejemplo
> >> 120
> >> segundos
> >> 0:02:00
> >
> > select columna * '1 second'::time;
> >
> > --
> > Alvaro Herrera
> > http://www.CommandPrompt.com/
> > The PostgreSQL Company - Command Prompt, Inc.
> >
> > ---------------------------(fin del mensaje)---------------------------
> > TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
> >
> > http://archives.postgresql.org/pgsql-es-ayuda
> >
>
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
>

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gustavo Ruscitto 2005-12-13 15:48:33 Nombre de columnas
Previous Message badillo 2005-12-13 15:20:22 Necesito un ejmplo de como utilizar una transacción en Postgres-SQL