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
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 |