Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
Эдуард   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.072 c
1-54655
Сашко
2003-04-07 02:11
2003.04.17
Некорректная работа спамятью


3-54425
Julya
2003-04-01 15:09
2003.04.17
Как описать в дельфе формат числа - длинное время?


3-54439
Sectey
2003-04-01 10:56
2003.04.17
ClientDataSet & Index


14-54873
DOP
2003-03-29 01:58
2003.04.17
НОВЫЙ ПРОЕКТ! УЧАСТВУЙТЕ!


3-54533
Эдуард
2003-03-19 09:59
2003.04.17
Необходимо составить





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский