powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / №2 Обработка ошибок. Хранимая процедура (StoredProc)
4 сообщений из 4, страница 1 из 1
№2 Обработка ошибок. Хранимая процедура (StoredProc)
    #32466021
mr.Tim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже все-таки, что я неверно объяснил. Попробую в двух словах.
Есть, к примеру, 10 таблиц в которых необходимо проводить некоторые
взаимозависимые изменения.
Я не хочу:
1. каждый раз отлаживать логику клиента
2. давать юзеру права на эти таблицы
Поэтому я:
1. делаю ХП
2. юзерам права на ХП
3. ХП - права на 10 таблиц
4. юзера смотрят на результаты ч/з view и напрямую к таблицам никакого
отношения не имеют
Работа протекает так:
1. юзер хочет изменений
2. клиент передает в ХП определенные параметры
3. ХП выполняется
4. если параметры неверны (или ошибка на клиенте), то откатывается,...
5. ... извещая юзера об ошибке
Так вот п.5 у меня не выходит никак.
Кто-нибудь решал подобную задачу?
...
Рейтинг: 0 / 0
№2 Обработка ошибок. Хранимая процедура (StoredProc)
    #32466440
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример:
1. В БД создаёшь исключение
Код: plaintext
CREATE EXCEPTION EXCP_RUS_LITERAL 'Литеры домов должны быть ПРОПИСНЫМИ буквами кириллицы';

2. Создаёшь процедуру
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
CREATE PROCEDURE SP_BUILDING(
    IN_ID_STREET INTEGER,  /*Какие-то входные параметры*/ 
    IN_HOUSE INTEGER,
    IN_LITERAL CHAR( 1 ),
    IN_BUILD INTEGER)
RETURNS (
    ID INTEGER,  /*Какие-то выходные параметры*/ 
    ...
)
AS
begin

 if((:in_literal is null) or (:in_literal = '')) then  in_literal = '-';

 in_literal = upper(:in_literal);

 if((:in_literal not between _WIN1251 'А' and _WIN1251 'Я')
     and :in_literal <> '-') then exception excp_rus_literal;
 ...
 ...

end
...
Рейтинг: 0 / 0
№2 Обработка ошибок. Хранимая процедура (StoredProc)
    #32466470
mr.Tim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пардон, сорри и еще раз икскьюзми.\r
Следует рассматривать в контексте того, что\r
/topic/83666
...
Рейтинг: 0 / 0
№2 Обработка ошибок. Хранимая процедура (StoredProc)
    #32468936
mr.Tim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема разрешилась.
По рекомендации больших умов
http://www.ibase.ru/devinfo/pslock.htm
похачил я в свое время
procedure TIBSQL.ExecQuery;
и благополучно забыл об этом.
Теперь вернул все взад.
Всё стало ОК.
Всем спасибо.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / №2 Обработка ошибок. Хранимая процедура (StoredProc)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]