From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Luis Rodrigo Gallardo Cruz <rodrigo(at)nul-unu(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Consulta sobre funcion |
Date: | 2006-06-20 21:05:59 |
Message-ID: | 20060620210559.GF26882@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Luis Rodrigo Gallardo Cruz escribió:
> On Tue, Jun 20, 2006 at 03:50:56PM -0400, Daniel Carrero wrote:
> > On 20/06/06, Luis Rodrigo Gallardo Cruz <rodrigo(at)nul-unu(dot)com> wrote:
> > >No. El COMMIT/ROLLBACK *delimita* la transacción. Uno cualquiera de
> > >ellos es el 'END'.
> > >
> > Entonces una funcion tiene varios bloques, delimitados tanto por BEGIN
> > - END como por BEGIN - ROLLBACK - COMMIT - END
> > Es asi?
>
> No. Estás confundido por la sintáxis.
>
> Dentro de una función en PL/pgSQL BEGIN-END delimitan bloques
> sintácticos. Son las {} de C, pues. Aunque BEGIN se escriba BEGIN, no
> tiene *nada* que ver con el BEGIN de SQL. (Por que *no* estás
> escribiendo en SQL)
Ahi estaba la madre del cordero ;-)
Quizas por este motivo, en el estandar SQL se sanciona que la sentencia
para iniciar una transaccion es START TRANSACTION. "BEGIN TRANSACTION"
o "BEGIN WORK" son extensiones de Postgres.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2006-06-20 21:06:59 | Re: postgresql en solaris 9 |
Previous Message | Roberto Cesar Najera | 2006-06-20 20:58:56 | postgresql en solaris 9 |