RE: Personalizar SQLERRM

From: Pedro PG <pedropg(at)outlook(dot)com>
To: Jaime Casanova <jaime(at)2ndquadrant(dot)com>, Jorge Medina <jorge(at)bsdchile(dot)cl>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Personalizar SQLERRM
Date: 2014-02-05 17:43:24
Message-ID: BLU180-W9238FC6596804ABB80597EA7950@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Muchas gracias, con GET STACKED DIAGNOSTICS solucione mi problema.Saludos.

> From: jaime(at)2ndquadrant(dot)com
> Date: Sat, 1 Feb 2014 12:34:00 -0500
> Subject: Re: [pgsql-es-ayuda] Personalizar SQLERRM
> To: jorge(at)bsdchile(dot)cl
> CC: pedropg(at)outlook(dot)com; pgsql-es-ayuda(at)postgresql(dot)org
>
> 2014-02-01 Jorge Medina <jorge(at)bsdchile(dot)cl>:
> >
> > 2014-02-01 Jaime Casanova <jaime(at)2ndquadrant(dot)com>
> >
> >> 2014-01-31 Pedro PG <pedropg(at)outlook(dot)com>:
> >> >
> >> > llave duplicada viola restricción de unicidad «cuk__venta___comprobante»
> >> >
> >> > Lo que deseo saber es: como es que se arma este mensaje, de que tabla
> >> > saca
> >> > el texto llave duplicada viola restricción de unicidad,
> >>
> >> Saludos,
> >>
> >> El mensaje no sale de una tabla sino que esta en el código fuente de
> >> PostgreSQL:
> >> el mensaje original está en src/backend/access/nbtree/nbtinsert.c
> >> (línea 392) y la traducción al español en src/backend/po/es.po (línea
> >> 467)
> >>
> >> > debo hacer una
> >> > función que registre al detalle las excepciones.
> >> >
> >> > PD: No deseo personalizar el mensaje con la instrucción:
> >> >
> >> > RAISE EXCEPTION USING ERRCODE = "etc", MESSAGE = "etc";
> >> >
> >>
> >> por que?
> >
> >
> > no es por nada, pero entiendo que «cuk__venta___comprobante» es el nombre de
> > una constrain que afecta a dos tablas específicamente y ahí ya tienes tu
> > información.
> >
>
> pero no puedes basar tu decision en el nombre del constraint por que
> tu puedes darle al constraint un nombre no relacionado.
>
> Chequeando un poco mas, veo que desde 9.2 existe GET STACKED
> DIAGNOSTICS que te permite sacar información sobre el mensaje de
> error, la tabla y otros datos.
> http://www.postgresql.org/docs/current/static/plpgsql-control-structures.html#PLPGSQL-EXCEPTION-DIAGNOSTICS-VALUES
>
> --
> Jaime Casanova www.2ndQuadrant.com
> Professional PostgreSQL: Soporte 24x7 y capacitación
> Phone: +593 4 5107566 Cell: +593 987171157
>
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Aland Laines 2014-02-05 18:29:50 Rehacer consulta
Previous Message Alvaro Herrera 2014-02-05 17:22:22 Re: Alguna forma de actualizar secuencias adentro de una funcion