powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Удаление записей из таблицы в определенное время
8 сообщений из 8, страница 1 из 1
Удаление записей из таблицы в определенное время
    #39833026
plorkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, всем!

Имеется процедура, которая раз в час загружает новую порцию данных, перед вставкой инкремента, таблица чистится.

Появилась необходимость хранить данные в этой таблице в определенный промежуток времени, т.е допустим с 00:00 до 08:00 am таблица наполняется данными (без предварительного удаления), в оставшееся время таблица, как было изначально чистится и затем наполняется.

Подскажите пжст, с помощью чего это оптимальней сделать? Были мысли это осуществить с помощью waitfor delay и с помощью цикла, но пока не могу до конца додумать.
...
Рейтинг: 0 / 0
Удаление записей из таблицы в определенное время
    #39833033
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
plorkie,

А раз в час процедура загружает через waitfordelay?
...
Рейтинг: 0 / 0
Удаление записей из таблицы в определенное время
    #39833034
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понятно, с чем у вас проблемы?
Можно использовать джоб по расписанию, в нем будет код удаления данных. Если данных много, то лучше удалять порциями в цикле. Если не слишком много, то можно одним запросом.
Причем тут "waitfor delay" вообще не понятно...
...
Рейтинг: 0 / 0
Удаление записей из таблицы в определенное время
    #39833072
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
plorkieДобрый вечер, всем!

Имеется процедура, которая раз в час загружает новую порцию данных, перед вставкой инкремента, таблица чистится.

Появилась необходимость хранить данные в этой таблице в определенный промежуток времени, т.е допустим с 00:00 до 08:00 am таблица наполняется данными (без предварительного удаления), в оставшееся время таблица, как было изначально чистится и затем наполняется.

Подскажите пжст, с помощью чего это оптимальней сделать? Были мысли это осуществить с помощью waitfor delay и с помощью цикла, но пока не могу до конца додумать.

Проще надо быть.
Пиши в каждой строке СрокПротухания. И учитывай это в запросе, если надо.
Фсе.
Когда ты удалишь протухшие записи - дело десятое.
...
Рейтинг: 0 / 0
Удаление записей из таблицы в определенное время
    #39833086
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
plorkieДобрый вечер, всем!

Имеется процедура, которая раз в час загружает новую порцию данных, перед вставкой инкремента, таблица чистится.

Появилась необходимость хранить данные в этой таблице в определенный промежуток времени, т.е допустим с 00:00 до 08:00 am таблица наполняется данными (без предварительного удаления), в оставшееся время таблица, как было изначально чистится и затем наполняется.

Подскажите пжст, с помощью чего это оптимальней сделать? Были мысли это осуществить с помощью waitfor delay и с помощью цикла, но пока не могу до конца додумать.
Если я всё правильно понял, то, если позволяет версия и редакция сервера (до 2016SP1 - энтерпрайз, после - любая), я бы разрезал таблицу на секции, и секцию, в которой производятся изменения - держал бы в двух экземплярах.
Соответственно "заливка с удалением" - это загрузка в пустую отсоединенную секцию. А "заливка без удаления" - это обычная работа.
Как только данные залиты в отсоединенную секцию - switch partition, и всё заново.
Нужно только, чтобы все изменения были локализованы в "горячей" секции.
...
Рейтинг: 0 / 0
Удаление записей из таблицы в определенное время
    #39833121
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterplorkieДобрый вечер, всем!

Имеется процедура, которая раз в час загружает новую порцию данных, перед вставкой инкремента, таблица чистится.

Появилась необходимость хранить данные в этой таблице в определенный промежуток времени, т.е допустим с 00:00 до 08:00 am таблица наполняется данными (без предварительного удаления), в оставшееся время таблица, как было изначально чистится и затем наполняется.

Подскажите пжст, с помощью чего это оптимальней сделать? Были мысли это осуществить с помощью waitfor delay и с помощью цикла, но пока не могу до конца додумать.
Если я всё правильно понял, то, если позволяет версия и редакция сервера (до 2016SP1 - энтерпрайз, после - любая), я бы разрезал таблицу на секции, и секцию, в которой производятся изменения - держал бы в двух экземплярах.
Соответственно "заливка с удалением" - это загрузка в пустую отсоединенную секцию. А "заливка без удаления" - это обычная работа.
Как только данные залиты в отсоединенную секцию - switch partition, и всё заново.
Нужно только, чтобы все изменения были локализованы в "горячей" секции.

Иногда, лучше жевать.
...
Рейтинг: 0 / 0
Удаление записей из таблицы в определенное время
    #39833192
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
plorkie,

разделите процесс на две процедуры - одна чистит, вторая заполняет.
Затем джоб из двух шагов, в шаге очистки напишите if с проверкой времени.
Секционирование там не нужно.
...
Рейтинг: 0 / 0
Удаление записей из таблицы в определенное время
    #39833644
plorkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Удаление записей из таблицы в определенное время
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]