Каскадное обновление записей в таблице

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
KibkaloIg
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 22.06.2005 (Ср) 0:24

Каскадное обновление записей в таблице

Сообщение KibkaloIg » 25.09.2005 (Вс) 11:57

Привет народ!
Возможен ли такой запрос?
Есть табличка
Дата, ОстатокНаНачало, Оборот, ОстатокНаКонец


Добустим изменился Оборот в самой первой записи.
Нужно, чтобы пересчитались все остатки в последующихзаписях.
У кого какие варианты???

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.09.2005 (Вс) 14:19

Варианты - убрать нафиг остаток на начало и остаток на конец. Оставить только дату и оборот. Всё остальное считать при каждой надобности.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

KibkaloIg
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 22.06.2005 (Ср) 0:24

Сообщение KibkaloIg » 25.09.2005 (Вс) 18:01

Да, Это самый очевидный вариант.
Но если база большая то долгий.
Мне кажется решение кроется во вложеных запросах.
Примерно так же номеруются стоки..
Есть еще варианты?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.09.2005 (Вс) 18:20

Триггеры?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

KibkaloIg
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 22.06.2005 (Ср) 0:24

Сообщение KibkaloIg » 25.09.2005 (Вс) 22:42

А поподробнее насчет Триггеров

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.09.2005 (Вс) 22:45

Не, фигово получится. Гораздо медлеенне, чем если каждый раз считать.
Нет, правда. Сумма пары сотен миллионов значений найдётся за доли секунды...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 25.09.2005 (Вс) 22:56

GSerg писал(а):Триггеры?

ЕМНИП, в Аксессе их нет.

По теме: в данный момент я бьюсь с аналогичной задачей, в которой первые записи задумывались как неизменные. Теперь приходится писать код по хирургически точному пересчету, иначе весь баланс съезжает. Поэтому не могу не оценить радикальной простоты совета GSerg'a, но вместе с тем отмечу, что идеальное решение, как всегда, где-то посередине - нужно использовать его метод в сочетании с секционированием данных.

Проще говоря, закрыл отчетный период, все ошибки исправил - перемещай все данные в отдельную таблицу типа архив. А чтобы не гонять лишний раз агрегирующие запросы за прошлые года, в еще одной таблице хранятся краткие итоги: Месяц/Год, Остаток на начало, Остаток на конец. Соответственно, в случае запроса за позапрошлый год все данные будут мгновенно вытянуты из этого кэша; если понадобится инфа за полгода назад с 1 по 10 число - залезешь в архив, не развалишься. Ну а во всех остальных случаях ты работаешь с актуальными данными, которые быстро правятся и достаточно быстро считаются.

Но это все, сам пониманешь, теория :). По поводу практики - читай в инете на тему "Секционированные данные".

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.09.2005 (Вс) 23:11

Угу. Всё именно так :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 26.09.2005 (Пн) 10:34

SHARPing в помощь :)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.09.2005 (Пн) 10:36

А не Shaping?
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList  
cron