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 ;)
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 |