Re: Catching errors in pl/pgsql
От | Richard Huxton |
---|---|
Тема | Re: Catching errors in pl/pgsql |
Дата | |
Msg-id | 200303141516.55371.dev@archonet.com обсуждение исходный текст |
Ответ на | Catching errors in pl/pgsql ("Fernando Papa" <fpapa@claxson.com>) |
Список | pgsql-general |
On Friday 14 Mar 2003 2:20 pm, Fernando Papa wrote: > Hi everybody! > > I'm migrating severals application from Oracle to PostgreSQL. I read all > the documents about PL/PGSQL and how porting from oracle to pg. I ported > several procedures succesful, but I have a lot of problems "translating" > this kind of code: > (...) > EXCEPTION > WHEN DUP_VAL_ON_INDEX THEN > V_Error := 'PR_INSERT_VIOLATION_PK'; > How I can catch the error, for example, if I try to insert a duplicate > value on primary key? or if parent keys not found? I need to catch the > error inside the pl/pgsql function and then pass a message to > application. I will rise a exception (I know how to do this) but I don't > know how to identify the errors... You can't at the moment. There's no way to catch an error inside a function - an error aborts the current transaction without you being able to catch it. I'm afraid you're going to have to check for whatever causes the error and avoid it instead. -- Richard Huxton
В списке pgsql-general по дате отправления: