Re: una duda sobre funciones

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Pedro Mateo <pedromateoa(at)gmail(dot)com>
Cc: Hensa <hensa22(at)yahoo(dot)es>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: una duda sobre funciones
Date: 2006-10-17 02:52:16
Message-ID: 20061017025216.GB32451@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Pedro Mateo escribió:
> las funciones inician una transaccion de forma automatica ?
> es decir
> todas las instrucciones en una funcion se leen como si fuera una sola y no
> se no se alternas con otras llamadas?

Todos los comandos en Postgres se ejecutan dentro de una transaccion, ya
sea porque la abriste explicitamente con BEGIN o START, o bien porque no
lo hiciste (en cuyo caso Postgres lo hace automaticamente, y tambien
termina automaticamente la transaccion cuando el comando termina).

Una funcion es tambien parte de eso, es decir, si al invocar una funcion
hay una transaccion que ya esta en curso, esa transaccion solo terminara
despues que la funcion haya terminado de ejecutarse. Es imposible que
la transaccion termine antes que la funcion.

Si la funcion se invoca cuando no hay ninguna transaccion en curso,
entonces al hecho de invocar la funcion abre una nueva transaccion (y no
se puede cerrar dentro de la funcion).

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Hensa 2006-10-17 04:13:31 RV: Re: una duda sobre funciones
Previous Message Pedro Mateo 2006-10-17 02:41:33 Re: una duda sobre funciones