Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > ASP.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2011, 17:20   #1
kenji
Пользователь
 
Регистрация: 28.10.2010
Сообщений: 22
По умолчанию Самозаполняющаяся таблица SQL

Привет всем!

Пишу сайт на АСП.

Есть несколько таблиц в БД SQL Server 2008, которые заполняются удалённо пользователями.

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

Например, берём таблицу 1, считаем сумму значений (int) в первом столбце и записываем полученное в центральную таблицу.

Допустим я хочу чтоб центральная таблица полностью пересчитывалась каждые 2 часа самостоятельно.

Каким образом мне это сделать? Можно ли это организовать непосредственно на C#? Помогите пожалуйста.

Последний раз редактировалось kenji; 28.11.2011 в 17:22.
kenji вне форума Ответить с цитированием
Старый 29.11.2011, 13:15   #2
Napkin
Пользователь
 
Аватар для Napkin
 
Регистрация: 09.12.2009
Сообщений: 25
По умолчанию

Если C#, то можно написать сервис, который будет проверять постоянно время (к примеру каждые 30 секунд) и в нужный момент выполнять задание - пересчет Ваших данных.
Так же в SQL Server можно организовать выполнение задач: гуглите что-нибудь вроде sql server scheduled tasks
Удел сильных - уделывать слабых
Napkin вне форума Ответить с цитированием
Старый 29.11.2011, 14:24   #3
kenji
Пользователь
 
Регистрация: 28.10.2010
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Napkin Посмотреть сообщение
Если C#, то можно написать сервис, который будет проверять постоянно время (к примеру каждые 30 секунд) и в нужный момент выполнять задание - пересчет Ваших данных.
Так же в SQL Server можно организовать выполнение задач: гуглите что-нибудь вроде sql server scheduled tasks
Да, похоже что без шедулера не обойтись( Довольно сложная штука
kenji вне форума Ответить с цитированием
Старый 29.11.2011, 14:46   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Да, похоже что без шедулера не обойтись( Довольно сложная штука
а я на 90% уверен, что проблема в некорректной организации структур.
Ну объясните мне, ЗАЧЕМ дополнительно собирать данные в какую "центральную" таблицу, когда её содержимое (причём КОРРЕКТНОЕ) в любой момент времени может быть получено запросами?!
(ну и есть ещё VIEW (представления))


безусловно, подобные вещи иногда делаются, когда не хватает скорости обработки запросов...
Но тогда все изменения "центральной" таблицы выполняются через триггера, которые "висят" на изменение влияющих данных: добавил данные в таблицу - триггер обновил центральную таблицу, удалили или изменили данные в подчинённых таблицах - триггер обновил соответствующие данные в "центральной" таблице. Но ещё раз повторю - прежде чем затевать возню с этими кривыми костылями, я бы трижды подумал, точно ли оно нужно и нельзя ли обойтись без этого!..
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) Schutze Помощь студентам 6 29.11.2009 22:15
Связать sql и таблица bosston БД в Delphi 15 19.11.2009 14:50
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
Таблица соответствия типов данных Delphi и MS SQL Server 2000 jane БД в Delphi 1 07.08.2008 19:26