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

Вниз

Необходимо составить   Найти похожие ветки 

 
Эдуард   (2003-03-19 09:59) [0]

Необходимо составить "сложный" отчет. Без использования дополнительных таблиц не обойтись. Но при обновременном обращении к формированию этого отчета несколькими пользователями возникает конфликтная ситуация (одновременное изменение данных одной таблицы несколькими пользователями). Как же можно избежать данной конфликтной ситуации?

Заранее благодарен.


 
Жук ©   (2003-03-19 10:15) [1]

С помощью транзакций.


 
Johnmen ©   (2003-03-19 10:18) [2]

А не надо создавать временные таблицы в базе !
Создай виртуальную таблицу в памяти при работе приложения...Если уж никак не обойтись просто запросом(ами).


 
zacho ©   (2003-03-19 10:21) [3]


> Эдуард (19.03.03 09:59)
> Необходимо составить "сложный" отчет. Без использования
> дополнительных таблиц не обойтись.

Т.е. для формирования отчета сначала производится выборка в эти самые дополнительные таблицы ? В подавляющем большинстве случаев можно обойтись без дополнительных таблиц, используя хранимые процедуры с FOR SELECT ..

> Но при обновременном обращении к формированию этого отчета
> несколькими пользователями возникает конфликтная ситуация
> (одновременное изменение данных одной таблицы несколькими
> пользователями).

Скорее всего, неправильно спроектированы таблицы. Приведи описание структуры таблиц, может чего и посоветуем.


 
Sergey13 ©   (2003-03-19 10:22) [4]

2Эдуард (19.03.03 09:59)
Можно попробовать дополнить структуру временных "дополнительных таблиц" сведениями о пользователях-"владельцах" записи.


 
Эдуард   (2003-03-19 10:59) [5]

В принципе правильно, я использую временные таблицы для предварительной выборки (с использованием агр.ф-ции SUM), а затем формирую запрос к этой временной таблице с использованием агрегатной функции SUM.

Вопрос как создать временную таблицу так, чтобы она была недоступна другим пользователям во время формирования запроса.
Может использовать VIEW с каким то уникальным именем для каждого пользователя?

Заранее благодарен!


 
Sergey13 ©   (2003-03-19 11:15) [6]

2Эдуард (19.03.03 10:59)
А ты их (таблицы эти) каждый раз создаешь что ли?


 
DarkGreen ©   (2003-03-19 11:43) [7]

А разве нельзя в одном запросе провести все необходимое тебе агрегирование?


 
Эдуард   (2003-03-31 23:10) [8]

Нет агрегирование не получается


 
zacho ©   (2003-04-01 09:07) [9]


> Эдуард (31.03.03 23:10)

> Sergey13 © (19.03.03 10:22) тебе правильно посоветовал.
А ты уверен, что возможностей хранимых процедур тебе недостаточно ?
P.S. Для ускорения (и упрощения) рассчетов можно не проводить агрегирование каждый раз при формировании отчета, а создать постоянные таблицы для хранения нужных агрегатов и заполнять их из триггеров.


 
Эдуард   (2003-04-01 10:16) [10]

Дело в том, что разный интервал дат использует пользователь


 
zacho ©   (2003-04-01 10:26) [11]


> Эдуард (01.04.03 10:16)

Ну и что ? У меня тоже отчеты формируются по произвольным интервалам, но хранимых процедур мне вполне достаточно.


 
Соловьев ©   (2003-04-01 10:29) [12]

2 Эдуард
ХП как раз то. Туда и параметры передавай те что пользователь задает.



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

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

Наверх




Память: 0.49 MB
Время: 0.014 c
3-54447
jen_bond
2003-03-28 17:38
2003.04.17
Проблемма с многопользовательской БД.


14-54891
NightCold
2003-04-02 13:23
2003.04.17
Listbox & edit1


3-54403
me2
2003-04-01 11:30
2003.04.17
Как снести IB DescTop Edition


14-54882
kostya2000
2003-03-28 15:50
2003.04.17
Кто самый любимый участник форума!?


3-54468
Некто2002
2003-03-29 16:38
2003.04.17
Проблема с определением имени драйвера ODBC