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