Legushka
Дата: 26.11.2014 11:54:30
ващето прав
раньше на оракле в теле процедуры было RAISE_APPLICATION_ERROR(бла бла бла)
сейчас из процедуры в postgree делаю функцию, дошел до этой строки
как можно из функции кроме результа отправить исключение типа ошибка такая то при выполнении функции, напрмиер не заполнен такой то реквизит и тп
ващето
Дата: 26.11.2014 12:18:27
Legushka,
ващето я недо-ара-калоед
, т.ч. не совсем в теме.
Думаю, если и на ёлку влезть (результат таки вернуть) и попец не ободрать ( Error таки выкинуть ) -- это не совсем по постгресовски.
видится такое решение:
Верните 2 поля. Собственно результат. И поле -- "ошибку_приложения".
И уже клиентом, проверяя второе, -- кидайте ошибку.
//варианты -- запись, содержащую как возврат (в т.ч. возможно рефкурсоры) так и "ошибки" (в т.ч. и собраннвые текстовки контекстов/стека, обработанных по ходу GET DIAGNOSTIC-сом)
[т.е. по ходу кидайтесь настоящими RAISE , а в конце перехватите обработчиком, и запихайте стек в строку]