Re: Capturar cual unique key esta en excepción

From: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
To: Anthony Sotolongo <asotolongo(at)gmail(dot)com>, Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Capturar cual unique key esta en excepción
Date: 2015-12-20 17:23:00
Message-ID: 1518591184.2282044.1450632180585.JavaMail.yahoo@mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola,
Si revisé pero no encontré nada acerca del objeto afectado, por ahora la única solución es: when unique_violation then GET STACKED DIAGNOSTICS l_RETURNED_SQLSTATE = RETURNED_SQLSTATE, l_MESSAGE_TEXT = MESSAGE_TEXT, l_PG_EXCEPTION_DETAIL = PG_EXCEPTION_DETAIL; if position('uk_cliente' in l_MESSAGE_TEXT)> 0 then s_error_msj:=  'Ya existe un tipo_documento y numero_documento que coinciden con los ingresados. Por favor ingrese un tipo y documento diferentes o solicite restaurar la contraseña.'; end if; raise exception '%', s_error_msj;

El Sábado 19 de diciembre de 2015 15:08, Anthony Sotolongo <asotolongo(at)gmail(dot)com> escribió:

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


In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Anthony Sotolongo 2015-12-20 17:59:30 Re: Capturar cual unique key esta en excepción
Previous Message Anthony Sotolongo 2015-12-19 20:07:12 Re: Capturar cual unique key esta en excepción