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.
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 |