Re: User defined exceptions
От | Pavel Stehule |
---|---|
Тема | Re: User defined exceptions |
Дата | |
Msg-id | CAFj8pRCeqR2m5fCtbAn6tUaZRoNb-w+bGeL7-A9qr72_GqBY_w@mail.gmail.com обсуждение исходный текст |
Ответ на | User defined exceptions (Alex Ignatov <a.ignatov@postgrespro.ru>) |
Список | pgsql-sql |
2015-07-15 16:10 GMT+02:00 Alex Ignatov <a.ignatov@postgrespro.ru>:
Hello all!
Trying to emulate "named" user defined exception with:
CREATE OR REPLACE FUNCTION exception_aaa () RETURNS text AS $body$
BEGIN
return 31234;
END;
$body$
LANGUAGE PLPGSQL
SECURITY DEFINER
;
do $$
begin
raise exception using errcode=exception_aaa();
exception
when sqlstate exception_aaa()
then
raise notice 'got exception %',sqlstate;
end;
$$
Got:
ERROR: syntax error at or near "exception_aaa"
LINE 20: sqlstate exception_aaa()
I looks like "when sqlstate exception_aaa()" doesn't work.
How can I catch exception in this case?
this syntax is working only for builtin exceptions. PostgreSQL has not declared custom exceptions like SQL/PSM.
You have to use own sqlcode and catch specific code.
Regards
Pavel
-- Alex Ignatov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
![]()
This email has been checked for viruses by Avast antivirus software.
www.avast.com
В списке pgsql-sql по дате отправления: