Re: rescatar exceptions de plpgsql

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Milton Galo Patricio <minoztro(at)gmail(dot)com>
Cc: postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: rescatar exceptions de plpgsql
Date: 2006-07-24 23:30:28
Message-ID: 20060724233028.GB11023@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Milton Galo Patricio escribió:

> exacto!!, había visto la clausula exception, pero en los ejemplos sólo he
> visto cuando ponen divisiones por cero o algo asi nunca con sentencias
> sql?

Eso es solo porque la division por cero es lo mas facil de escribir.
Pero puedes usar cualquier excepcion, tal como dice en

http://www.postgresql.org/docs/8.1/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

The condition names can be any of those shown in Appendix A.

Es decir, segun el listado que hay en el apendice,
http://www.postgresql.org/docs/8.1/static/errcodes-appendix.html

un listado de las que te podrian interesar podria ser

Class 23 Integrity Constraint Violation

23000 INTEGRITY CONSTRAINT VIOLATION integrity_constraint_violation
23001 RESTRICT VIOLATION restrict_violation
23502 NOT NULL VIOLATION not_null_violation
23503 FOREIGN KEY VIOLATION foreign_key_violation
23505 UNIQUE VIOLATION unique_violation
23514 CHECK VIOLATION check_violation

> ...mi pregunta es como se manejan??...los log's quiero utilizarlos para
> despues poder mostrarlos al usuario y asi no utilizar los log's que me da
> por ejemplo python o php (aunque creo son los mismo), pero los quiero poder
> capturar en la funcion de plpgsql.

No uses los logs. Usa el mensaje de error. Puedes usar la variable
SQLERRM dentro de un bloque EXCEPTION. O bien construir uno tu mismo,
teniendo en cuenta SQLSTATE.

Por favor usa la documentacion. No la escribimos solo como pasatiempo.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Milton Galo Patricio 2006-07-25 00:03:59 Re: rescatar exceptions de plpgsql
Previous Message Milton Galo Patricio 2006-07-24 23:10:21 Re: rescatar exceptions de plpgsql