Re: Consulta sobre funcion

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

In response to

Browse pgsql-es-ayuda by date

  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