From: | "Fernando Papa" <fpapa(at)claxson(dot)com> |
---|---|
To: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Catching errors in pl/pgsql |
Date: | 2003-03-14 14:20:51 |
Message-ID: | CB94A4924490EC4A81EDA55BA378B7BAE6F129@exch2k01.buehuergo.corp.claxson.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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';
WHEN E_Parent_Not_Found THEN
V_Error := 'PR_INSERT_PARENT_NOT_FOUND';
WHEN OTHERS THEN
V_Error := 'PR_INSERT_OTHERS';
(...)
IF vError IS NULL THEN
COMMIT;
ELSE
ROLLBACK;
RAISE_APPLICATION_ERROR(-20000,V_Error);
ENDIF;
(...)
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...
Thanks in advance!
--
Fernando O. Papa
DBA
From | Date | Subject | |
---|---|---|---|
Next Message | Olleg Samojlov | 2003-03-14 14:33:03 | Trigger in system catalog |
Previous Message | Eric Audet | 2003-03-14 14:16:42 | No aswer WAS: Droping a database even if someone is con nected |