![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Необходимо составить
Эдуард © (2003-03-19 09:59:00)Необходимо составить "сложный" отчет. Без использования дополнительных таблиц не обойтись. Но при обновременном обращении к формированию этого отчета несколькими пользователями возникает конфликтная ситуация (одновременное изменение данных одной таблицы несколькими пользователями). Как же можно избежать данной конфликтной ситуации?
Заранее благодарен.
Соловьев (2003-04-01 10:29:00) [1]2 Эдуард
ХП как раз то. Туда и параметры передавай те что пользователь задает.
zacho (2003-04-01 10:26:00) [2]
> Эдуард (01.04.03 10:16)
Ну и что ? У меня тоже отчеты формируются по произвольным интервалам, но хранимых процедур мне вполне достаточно.
Эдуард (2003-04-01 10:16:00) [3]Дело в том, что разный интервал дат использует пользователь
zacho (2003-04-01 09:07:00) [4]
> Эдуард (31.03.03 23:10)
> Sergey13 © (19.03.03 10:22) тебе правильно посоветовал.
А ты уверен, что возможностей хранимых процедур тебе недостаточно ?
P.S. Для ускорения (и упрощения) рассчетов можно не проводить агрегирование каждый раз при формировании отчета, а создать постоянныетаблицы для хранения нужных агрегатов и заполнять их из триггеров.
Эдуард (2003-03-31 23:10:00) [5]Нет агрегирование не получается
DarkGreen (2003-03-19 11:43:00) [6]А разве нельзя в одном запросе провести все необходимое тебе агрегирование?
Sergey13 (2003-03-19 11:15:00) [7]2Эдуард (19.03.03 10:59)
А ты их (таблицы эти) каждый раз создаешь что ли?
Эдуард (2003-03-19 10:59:00) [8]В принципе правильно, я использую временные таблицы для предварительной выборки (с использованием агр.ф-ции SUM), а затем формирую запрос к этой временной таблице с использованием агрегатной функции SUM.
Вопрос как создать временную таблицу так, чтобы она была недоступна другим пользователям во время формирования запроса.
Может использовать VIEW с каким то уникальным именем для каждого пользователя?
Заранее благодарен!
Sergey13 (2003-03-19 10:22:00) [9]2Эдуард (19.03.03 09:59)
Можно попробовать дополнить структуру временных "дополнительных таблиц" сведениями о пользователях-"владельцах" записи.
zacho (2003-03-19 10:21:00) [10]
> Эдуард (19.03.03 09:59)
> Необходимо составить "сложный" отчет. Без использования
> дополнительных таблиц не обойтись.
Т.е. для формирования отчета сначала производится выборка в эти самые дополнительные таблицы ? В подавляющем большинстве случаев можно обойтись без дополнительных таблиц, используя хранимые процедуры с FOR SELECT ..
> Но при обновременном обращении к формированию этого отчета
> несколькими пользователями возникает конфликтная ситуация
> (одновременное изменение данных одной таблицы несколькими
> пользователями).
Скорее всего, неправильно спроектированы таблицы. Приведи описание структуры таблиц, может чего и посоветуем.
Johnmen (2003-03-19 10:18:00) [11]А не надо создавать временные таблицы в базе !
Создай виртуальную таблицу в памяти при работе приложения...Если уж никак не обойтись просто запросом(ами).
Жук (2003-03-19 10:15:00) [12]С помощью транзакций.