From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
---|---|
To: | "Victor Lopez" <d01m01a2000(at)gmail(dot)com> |
Cc: | Postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: funciones y ROLLBACK |
Date: | 2007-05-06 03:59:30 |
Message-ID: | c2d9e70e0705052059k64acd47aq6427bcbc91de289a@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 5/5/07, Victor Lopez <d01m01a2000(at)gmail(dot)com> wrote:
> Una función puede que no sea igual a una transacción.
>
> Pero si el BEGIN de una función genera el BEGIN de una transacción, y
> el END; de una función genera el END; de una transacción ...
>
> Como decían en otro sitio ...
>
> Si dice 'cuac', tiene plumas de pato,patas de pato, pico de pato, etc ...
> Aunque no sea un pato ...
>
veamos, en http://www.postgresql.org/docs/8.2/static/sql-begin.html dice:
BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]
y tambien dice:
BEGIN is a PostgreSQL language extension. It is equivalent to the
SQL-standard command START TRANSACTION, which see for additional
compatibility information.
es decir que puedo escribir BEGIN o BEGIN WORK o BEGIN TRANSACTION o
START TRANSACTION en sql para iniciar una transaccion. Te reto a que
uses BEGIN WORK (o alguna de las otras variantes) en vez del BEGIN al
inicio de la funcion para ver que pasa.
No es que el BEGIN de la funcion inicie una transaccion. PostgreSQL
inicia una transaccion al ejecutar cualquier sentencia si esa
sentencia no esta dentro de una transaccion explicita, eso lo hace
para que si ocurre un error se deshaga (rollback) automaticamente lo
que se haya hecho...
volviendo al ejemplo anterior, si ejecuto:
LOCK TABLE tablita;
es lo mismo que ejecutar:
BEGIN;
LOCK TABLE tablita;
COMMIT;
asi que... LOCK TABLE debe ser una transaccion!!!
--
Atentamente,
Jaime Casanova
"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2007-05-06 04:06:09 | Re: funciones y ROLLBACK |
Previous Message | Gunnar Wolf | 2007-05-06 00:23:58 | Re: desencriptar un password |