From: | Henry <hensa22(at)yahoo(dot)es> |
---|---|
To: | Victor Lopez <d01m01a2000(at)gmail(dot)com>, Postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: funciones y ROLLBACK |
Date: | 2007-05-05 18:14:30 |
Message-ID: | 76756.84069.qm@web30809.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Victor Lopez <d01m01a2000(at)gmail(dot)com> escribió: Saludos.
Antes expongo lo que creo saber.
Una función es una transacción.
Acaba con un COMMIT por defecto.
Si se desea cancelar, se debe ejecutar un ROLLBACK antes de salir ... creo.
Si no me equivoco en lo antrior ... porque esto ne da error ?
-- código involucrado -------------
$$
BEGIN
INSERT INTO esquema.tabla(a, b, c, d) VALUES ($1, $2, $3, $4);
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RETURN FALSE;
END;
$$
-----------------------------
-- error que me da -----------------------------------
Warning: pg_query() [function.pg-query]: Query failed: ERROR:
SPI_execute_plan failed executing query "ROLLBACK":
SPI_ERROR_TRANSACTION CONTEXT: PL/pgSQL function "pide_alta" line 6 at
SQL statement in
-------------------------------------------------
Donde me equivoco ??
:-(
--
----o---( )---o----
Saludos de Victor Lopez Sabio
d01m01a2000(at)gmail(dot)com
--------oooo--------
---------------------------(fin del mensaje)---------------------------
TIP 4: No hagas 'kill -9' a postmaster
asi como el commit es implicito, cuado se produce un error el rollback tambien lo es, no es necesario poner rollback.
cuando la funcion termina de forma normal se produce un commit,
cuando se produce algun error se produce un rollback.
---------------------------------
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2007-05-05 18:33:08 | Re: funciones y ROLLBACK |
Previous Message | Roberto Andrade Fonseca | 2007-05-05 18:11:54 | Re: desencriptar un password |