Как реализовать PRAGMA EXCEPTION_INIT в Postgres? - PullRequest
0 голосов
/ 09 мая 2018

Как реализовать PRAGMA EXCEPTION_INIT в Postgres.

............................................... .................................................. ......

ELSIF l_errcode != 0

THEN

l_dyn_sql :='DECLARE myexc EXCEPTION; ' ||

'PRAGMA EXCEPTION_INIT (myexc, ' ||

TO_CHAR (l_errcode) ||');' ||

'BEGIN  RAISE myexc; END;';

EXECUTE IMMEDIATE l_dyn_sql;
END IF;

1 Ответ

0 голосов
/ 25 июня 2018

Нет эквивалента Oracle PRAGMA EXCEPTION INIT, который используется для инициализации пользовательского исключения.

Как указано в руководстве , вы можете вызвать исключение с помощью специального сообщения об ошибке. Вам также не нужен динамический SQL для этого:

ELSIF l_errcode != 0 THEN
   raise exception 'Error with number % occurred', l_errocde;
END IF;

Вы не можете указать свой собственный код ошибки. Альтернативный синтаксис, который принимает ошибку «имя» или SQLSTATE, может использоваться только с предопределенными исключениями , перечисленными в руководстве

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...