Re: Question about catching exception
От | Pavel Stehule |
---|---|
Тема | Re: Question about catching exception |
Дата | |
Msg-id | AANLkTimjJw_-tk4YDLTPk11srnXzqZkT_dQOsPHzKDA=@mail.gmail.com обсуждение исходный текст |
Ответ на | Question about catching exception (A B <gentosaker@gmail.com>) |
Ответы |
Re: Question about catching exception
|
Список | pgsql-general |
Hello you have to parse a sqlerrm variable CREATE OR REPLACE FUNCTION public.test(a integer, b integer) RETURNS void LANGUAGE plpgsql AS $function$ begin insert into foo values(a,b); exception when unique_violation then raise notice '% %', sqlerrm, sqlstate; end; $function$ postgres=# select test(4,2); NOTICE: duplicate key value violates unique constraint "foo_b_key" 23505 test ────── (1 row) Time: 9.801 ms postgres=# select test(3,2); NOTICE: duplicate key value violates unique constraint "foo_a_key" 23505 test ────── (1 row) Time: 17.167 ms regards Pavel Stehule > If the "do stuff" part can result in two different unique_violation > exception (having two unique constraints), how can I detect which one > was triggered? > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general >
В списке pgsql-general по дате отправления: