Страница 1 из 1

Перехват исключения (SQLCode -551)

Добавлено: 15 авг 2005, 12:11
RhinoFC
IB 7.0
Код процедуры:

Код: Выделить всё

begin
  for select f1, f2, f3 from view1
    into :f1, :f2, :f3
  do
  begin
    ...
  end
/*  when any do */
  when sqlcode -551 do
  begin
    ...
  end
end
Исключение возникает в том случае, если процедуру выполняет пользователь, не имеющий прав на просмотр представления view1.
Но, вопреки ожиданиям, это исключение не перехватывается в блоке when..do.
Помогите! Чего я не знаю? Можно ли перехватить это исключение в теле хранимой процедуры? Если нет, то зачем вообще нужен SQLCODE -551 ?

Добавлено: 15 авг 2005, 13:50
dimitr
права проверяются _до_ того, как выполняется тело процедуры. Так что перехватить нарушения доступа ты не можешь в принципе.

код ошибки нужен для обработки на клиентской стороне.