Re: Consulta sobre funcion

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Daniel Carrero <dxduke(at)gmail(dot)com>
Cc: Luis Rodrigo Gallardo Cruz <rodrigo(at)nul-unu(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Consulta sobre funcion
Date: 2006-06-20 13:35:03
Message-ID: 20060620133503.GK26882@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Daniel Carrero escribió:

> Se supone que dentro de una funcion tengo que hacer INSERT UPDATE o
> DELETE, pero, puedo equivocarme, solo se pueden hacer rollback y
> commit en procedimientos, esa es la duda. Dentro del procedimiento
> hacer un commit o rollback segun se necesite para una transaccion
> segura, que en caso de error no ejecute, por ejemplo un insert, se
> entiende???

En Postgres no existen "procedimientos", solo funciones. No puedes
hacer un COMMIT ni ROLLBACK dentro de una funcion (tampoco BEGIN). Si
quieres abortar una funcion, haz RAISE EXCEPTION y listo, la funcion
completa esta abortada y la transaccion tambien.

Ahora, puedes capturar excepciones si quieres, o puedes usar SAVEPOINT
antes de entrar a una funcion, pero ese ya es otro tema.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Martínez 2006-06-20 13:38:32 Re: Codificación UTF8
Previous Message Daniel Carrero 2006-06-20 13:34:54 Re: modelado de datos