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

Вниз

Еще раз о триггере   Найти похожие ветки 

 
MsGuns ©   (2003-02-24 21:12) [0]

Пару дней назад я уже задавал подобный вопрос, но сейчас нужны уже "подробности"

Есть БД, в которой определены несколько таблиц, довольно тесно взаимоувязанных логически. Как пример, схема:

Накладная -> Детал накладной -> Остатки по приходам -> остатки по складам интегрированно.
Накладная -> Данные о проплате (детал) <- Таблица проплат

Хочестся сделать логику максимально серверной. Т.е. с помощью цепочек триггеров. При изменении (удалении) одной записи детала, вся цепочка кажется мне достаточно "удобоваримой" и "влазит" в одну транзакцию. Но что делать, если меняется весь документ ? К примеру, удаляется (деактивируется) вся накладная целиком ? Тогда каждая из подобных цепочек триггеров должна срабатывать энное кол-во раз (по числу строк в документе) - а это уже, ИМХО, не есть хорошо. Как с точки зрения взаимоувязки (уровнями изоляции) между клиентами БД, так и неприглядности "дергания" сервера одиночными запросами. Здесь хороша была бы ХП с массовыми запросами. К сожалению, подобных ситуаций в имеющейся у меня литературе не нашел.
Прошу с точки зрения опыта РЕАЛЬНОЙ работы в области проектирования и сопровождения SQL-серверов (в частности, семейства IB ) высказать свои замечания и рекомендации.

С искренним уважением и надеждой.


 
DarkGreen ©   (2003-02-25 05:11) [1]

А что тебе мешает при создании вторичных ключей указать ON UPDATE CASCADE, ON DELETE CASCADE?


 
Alexandr ©   (2003-02-25 05:47) [2]


> Хочестся сделать логику максимально серверной. Т.е. с помощью
> цепочек триггеров.

похвально, но не стоит забывать про ХП.


> При изменении (удалении) одной записи
> детала, вся цепочка кажется мне достаточно "удобоваримой"
> и "влазит" в одну транзакцию.

да.

> Но что делать, если меняется
> весь документ ?
> К примеру, удаляется (деактивируется) вся
> накладная целиком ?

совершенно аналогично.

> Тогда каждая из подобных цепочек триггеров
> должна срабатывать энное кол-во раз (по числу строк в документе)
> - а это уже, ИМХО, не есть хорошо.

почему нехорошо? Нормально...

> Как с точки зрения взаимоувязки
> (уровнями изоляции) между клиентами БД,

никаких проблем.

> так и неприглядности
> "дергания" сервера одиночными запросами.

какими запросами?
Ну или повесь еще триггер на таблмцу накладных.
Вообщем, проблема непонятна...

> Здесь хороша была
> бы ХП с массовыми запросами.

ну так что мешает?

> К сожалению, подобных ситуаций
> в имеющейся у меня литературе не нашел.




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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
14-54184
Morfey
2003-03-03 00:48
2003.03.17
Прога


3-53891
RDA
2003-02-24 17:44
2003.03.17
Глюки с АДО


7-54356
SJ-79
2003-01-08 13:19
2003.03.17
Программная регулировка скорости LPT порта


4-54367
Shuric
2003-01-24 21:48
2003.03.17
Приветик всем... Может кто подскажет?


14-54220
Style
2003-03-03 14:32
2003.03.17
Тут новогодню песню на Delphi коришь написал :)