Hola Alejandro, revisa los Error Diagnostics Values y tal vez te pueda dar la pista de la UNIQUE que te da el error, utiliza el ITEM que requieras(creo que COLUMN_NAME o CONSTRAINT_NAME o PG_EXCEPTION_DETAIL o PG_EXCEPTION_HINT, pueden ayudarte).
te recomiendo:
http://www.postgresql.org/docs/9.4/interactive/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING


Saludos


El 12/19/2015 a las 3:04 PM, Alejandro Carrillo escribió:
Buen dia,

Rato sin hablar en la lista.
Tengo una duda, estoy creando un function en Postgresql 9.4 que insertará datos en una tabla, sin embargo esta tabla tiene 2 o más unique constraint y necesito saber unicamente el nombre de cual de las unique constraint ha sido afectada, ej:


create or replace function insertar(
p1 character varying,
   p2 character varying,
    p3 character varying
 )
RETURNS void AS
$$
begin
inser into ...;

exception
when unique_violation then
-- ACA DEBO OBTENER UNICAMENTE EL NOMBRE EXACTO DE LA UNIQUE KEY AFECTADA para efectos de mostrar un mensaje de error personalizado.
end;
$$;

Cordial saludo

Responder a