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

> From: [email protected]
> Date: Sat, 1 Feb 2014 12:34:00 -0500
> Subject: Re: [pgsql-es-ayuda] Personalizar SQLERRM
> To: [email protected]
> CC: [email protected]; [email protected]
> 
> 2014-02-01 Jorge Medina <[email protected]>:
> >
> > 2014-02-01 Jaime Casanova <[email protected]>
> >
> >> 2014-01-31 Pedro PG <[email protected]>:
> >> >
> >> > 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 ([email protected])
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
                                          

Responder a