Ayuda sobre EXCEPTION en Funciones

From: Julio Rivero <jcrmlima(at)gmail(dot)com>
To: Lista Ayuda PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Ayuda sobre EXCEPTION en Funciones
Date: 2005-08-15 18:49:40
Message-ID: d34a12b605081511492bb38e13@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola a todos:
Quisiera saber en que parte del manual indica los tipos de errores cuando
ejecuto una transacción, por ejemplo en Oracle podía utilizar OTHERS,
TOO_MANY_ROWS, NO_DATA_FOUND, en PostgreSql cual puedo utilizar?, o
cuales?... aquí esta mi función, quisiera que me indiquen por favor que
error puedo validar:
CREATE OR REPLACE FUNCTION dbtest.fu_nueva_oferta(text, date, date, text)
RETURNS "int8" AS
$BODY$
DECLARE
vc_descripcion ALIAS FOR $1;
vd_oferta ALIAS FOR $2;
vd_limite ALIAS FOR $3;
vc_status ALIAS FOR $4;
vi_cod_oferta int8;
BEGIN
-- retorna -1 cuando ha ocurrido algún error
-- retorna entero positivo con el código de la nueva oferta
BEGIN
select max(cod_oferta)
into vi_cod_oferta
from dbtest.oferta;
EXCEPTION
WHEN *-- HERE --* THEN
vi_cod_oferta := 0;
END;
IF vi_cod_oferta >= 0 THEN
vi_cod_oferta := vi_cod_oferta + 1;
BEGIN
insert into dbtest.oferta
(cod_oferta, descripcion, fec_oferta, fec_limite, status_oferta)
values
(vi_cod_oferta, vc_descripcion, vd_oferta, vd_limite, vc_status );
EXCEPTION
WHEN *-- HERE --* THEN
vi_cod_oferta := -1;
END
END IF;
RETURN vi_cod_oferta;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION dbtest.fu_nueva_oferta(text, date, date, text) OWNER TO
system;
Gracias de antemano!!!

--
Saludos

Att,
Julio Rivero
Movil: 98817321

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Horacio Miranda 2005-08-15 19:05:57 Re: Necesito un libro.
Previous Message Pablo Braulio 2005-08-15 18:46:44 Re: No me deja crear la tabla.