Re: como usar Commit

From: Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
To: Jaime Casanova <systemguards(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: como usar Commit
Date: 2007-02-19 15:47:57
Message-ID: 20070219154801.59828.qmail@web52107.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

hhaaaa .....Y EL QUE SABE SABE Y LE QUE NO ... hace preguntas tontas.... .
Entonces.... si tengo la funcion

CREATE OR REPLACE FUNCTION DesencriptaDepta("Depta" character(2), "clave" bytea)
RETURNS void AS
$BODY$
DECLARE
clave ALIAS FOR $2;
Depta ALIAS FOR $1;
a character varying(50);
b character varying(500);
BEGIN
LOCK TABLE "Recibidas" IN SHARE ROW EXCLUSIVE MODE;
a= byteatext(clave);
b='DELETE FROM "RecibidasDes" where "Sumario" IN (SELECT "Sumario" FROM "Recibidas" WHERE "Sumario" LIKE \''||Depta||'%\');';
execute (b);
b='INSERT INTO "RecibidasDes" SELECT "Sumario", "TipoInfo",ByteaText(decrypt("Info",\''||a||'\',\'bf\')) FROM "Recibidas" WHERE "Sumario" LIKE \''||Depta||'%\';';
execute (b);
EXCEPTION WHEN sql_statement_not_yet_complete THEN
-- do nothing
END;
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE;

y que constante de error me recomiendan
puede que sql_statement_not_yet_complete?

----- Mensaje original ----
De: Jaime Casanova <systemguards(at)gmail(dot)com>
Para: Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
CC: pgsql-es-ayuda(at)postgresql(dot)org
Enviado: lunes 19 de febrero de 2007, 16:24:09
Asunto: Re: [pgsql-es-ayuda] como usar Commit

On 2/19/07, Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar> wrote:
> Maestrosssss, estoy probando el tema de commit y rollback y no em funciona
> por ejemplo tengo es te codigo
> CREATE OR REPLACE FUNCTION DesencriptaDepta("Depta" character(2), "clave" bytea) RETURNS void AS
> $BODY$
> BEGIN
[...]
>
> COMMIT;
> END;
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE;
>

no puedes usar commit dentro de una funcion

>
> que pasa?,
> ademas como puedo saber si hubo un error o fue todo OK
> para asi retornar esa info por medio de la funcion
>

usas el bloque EXCEPTION
http://www.postgresql.org/docs/8.2/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook



__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Ferro 2007-02-19 15:55:21 Re: como usar Commit
Previous Message Douglas A. Escobar 2007-02-19 15:47:30 RE: Cambio de Version de PostgreSQL