Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

корректность вновь сохраненных данных   Найти похожие ветки 

 
avgur   (2004-06-10 15:29) [0]

ВЫДЕРЖКА из другого форума:
> Имеется кешированный датасет (TQuery). Открываем транзакцию методом StartTransaction компонента TDatebase. После сохранения в базу методом ApplyUpdate (компонента TQuery) запускается хранимая процедура, которая проверяет корректность вновь сохраненных данных. В определенном случае(сохранены неверные данные) процедура возвращает код ошибки - делается
откат транзакции RollBack компонента TDatebase.
Как эту процедуру организовать, подскажите ....


 
Курдль ©   (2004-06-10 15:34) [1]

Это как раз тот случай: "Я сделал одну фишку, а она не работает. В чем моя ошибка"?


 
bushmen ©   (2004-06-10 15:57) [2]

>Открываем транзакцию методом StartTransaction компонента >TDatebase. После сохранения в базу методом ApplyUpdate

По-моему, какая-то каша у Вас в голове.


 
Sandman25 ©   (2004-06-10 16:01) [3]

У процедуры должнен быть Isolation level = dirty read


 
Курдль ©   (2004-06-10 16:04) [4]


> У процедуры должнен быть Isolation level = dirty read

Зачем?


 
bushmen ©   (2004-06-10 16:14) [5]

А целиком постановку задачи можно прочитать?


 
Johnmen ©   (2004-06-10 16:16) [6]

>Как эту процедуру организовать, подскажите ....

Примерно так:
1. Получаем значения вх.параметров
2. Анализируем их на корректность.
3. В случае некорректности генерим ексепшн.
:)))


 
Соловьев ©   (2004-06-10 16:19) [7]

А почему такую логику нельзя в триггере сделать? зачем ХП?


 
Sandman25 ©   (2004-06-10 16:27) [8]

[4] Курдль ©   (10.06.04 16:04)

Пока транзакция не подтверждена, записи недоступны для обычного read commited.


 
Курдль ©   (2004-06-10 16:33) [9]


> Sandman25 ©   (10.06.04 16:27) [8]
> Пока транзакция не подтверждена, записи недоступны для обычного
> read commited.

Внутри одной транзакции все доступно.


 
Соловьев ©   (2004-06-10 16:34) [10]


> Внутри одной транзакции все доступно.

внутри какой транзакции, и кому доступны?


 
Курдль ©   (2004-06-10 16:36) [11]

Внутри одной тразнакции все изменения доступны тому, кто ее открыл(или в IB это не так?)


 
Sandman25 ©   (2004-06-10 17:01) [12]

[9] Курдль ©   (10.06.04 16:33)

Я почему-то подумал, что хранимая процедура запускается в другом соединении. Наверное, зря я так подумал. Вы правы.


 
Курдль ©   (2004-06-10 17:06) [13]

В любом случае - это лишь наши с Вами теоретические изыскания :)
Автор-то нам не шибко помогает.
Я, как и Соловьев ©   (10.06.04 16:19) [7], склонен считать, что ХП - не очень удачное место для проверки данных.
Начинать надо на клиенте, потом - средствами СУБД (ключами, индексами, констрэйнтами, потом уж триггерами).



Страницы: 1 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.047 c
3-1086595755
galexis
2004-06-07 12:09
2004.07.04
Переход от FB 1.0 к FB 1.5


9-1079155881
Zak3D[@Tm]
2004-03-13 08:31
2004.07.04
Ограничение движения курсора


1-1087537714
Ш-К
2004-06-18 09:48
2004.07.04
Найти свойство по имени


14-1087071835
Undert
2004-06-13 00:23
2004.07.04
Kerio Winroute Firewall 6


3-1086839491
explorer
2004-06-10 07:51
2004.07.04
Библиотека EhLib: TPrintDBGridEh