Re: sobre transaccion en Postgres

From: Ernesto Quiñones <ernestoq(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: sobre transaccion en Postgres
Date: 2008-05-20 23:16:27
Message-ID: 2ba222580805201616u367f05e4h6787128b70ce21e7@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-Si concatenas todos los querys ya no es necesario que hagas un begin,
commit porque el postgresql lo entendera todo como una transacción pro
defecto, osea puedes hacer algo asi:

$query="";
for ($i=0; $<10;$i++) {
$query .= "insert into tabla (campo) values({$i});";
}

for ($i=0; $<10;$i++) {
$query .= "update tabla2 set campo1 = {$i} where campo2 = {$i};";
}

for ($i=0; $<10;$i++) {
$query .= "delete tabla3 where campoA = {$i};";
}

pg_query($query);

si uno de ellos falla se hace automatico el rollback, si todos estan
ok se hace el commit y listo, o procesa todo o nada, pero no parte

precisión generalmente usaba pg_exec pero creo que es lo mismo, desde
hace varios años uso adodb así que un poco le perdi la pista a esto

pruebalo, seguro te ayudará

saludos

El día 20 de mayo de 2008 14:44, Sonia Perez Peña
<Sonia(at)citmatel(dot)inf(dot)cu> escribió:
> Ok, esto lo voy a probar , pero será posible concatenar todas las transacciones " begin insert, delete...,update commit"
>
>
> -----Mensaje original-----
> De: Ernesto Quiñones [mailto:ernestoq(at)gmail(dot)com]
> Enviado el: martes, 20 de mayo de 2008 12:19
> Para: Sonia Perez Peña
> Asunto: Re: [pgsql-es-ayuda] sobre transaccion en Postgres
>
> pg_query("begin");
>
> pg_query(1)
> pg_query(2)
> pg_query(3)
>
> pg_query("commit");
>
> El día 20 de mayo de 2008 9:41, Sonia Perez Peña
> <Sonia(at)citmatel(dot)inf(dot)cu> escribió:
>> Hola amigo tengo varias sentencias en PHP por separado, necesito como
>> encerrarlas todas en Begin transaction para que no haga el commit hasta el
>> final
>>
>>
>>
>>
>>
>> Eje.
>>
>>
>>
>> Pgconet
>>
>> pg_query(1)
>>
>> pg_query(2)
>>
>> pg_query(3)
>>
>>
>>
>> si alguna falla hacer rollback.
>>
>>
>>
>>
>>
>> gracias
>>
>>
>
>
>
> --
> Inscribete en las listas de APESOL
> http://www.apesol.org/listas.php
>
> Visita
> http://www.eqsoft.net
> Manuales, noticias, foros, etc.
>

--
Inscribete en las listas de APESOL
http://www.apesol.org/listas.php

Visita
http://www.eqsoft.net
Manuales, noticias, foros, etc.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marco Orellana O. 2008-05-21 03:23:28 Re: OT - Nurit 8010 PostgreSQL Java
Previous Message leonel 2008-05-20 22:29:47 Re: Duda