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