#sql
#sql
Вопрос:
У меня есть одна таблица с именем snapshot_history
. В этой таблице записывается каждое действие, выполняемое подразделением (аварийный автомобиль). Однако эта таблица очищается в течение 30 дней. (Перемещений так много, что в течение года на сервере не хватит места)
Однако мне нужно, чтобы часть этой истории была постоянной, а не удалялась. Система не моя, поэтому я не могу перепроектировать систему.
Каждую ночь в 2am
я хочу копировать изменения из таблицы «snapshot_history».
Как я могу это сделать? Я знаю, как вставить и все такое, но проблема в том, что таблица FROM удаляется в течение 30-дневного периода.
INSERT vehicle
,unit
,type
,STATUS
,DATE
,TIME
INTO perpetual_snapshot_history
WHERE type = 1
AND STATUS = 2
Комментарии:
1. Вы можете сравнить первичные ключи между исходной таблицей и целевой таблицей. Если вы видите разницу в первичных ключах, вставьте ее в свою целевую (или скопированную) таблицу. Дайте мне знать, если вам нужна помощь по sql. Спасибо.
2. обновляется ли таблица истории снимков ежедневно? вы можете запускать ежедневное пакетное задание для обновления / вставки в вашу таблицу.
3. Я использую Microsoft SQL 2014
4. создание события начинается со времени 2 часа ночи с интервалом каждые 24 часа!!!!!
Ответ №1:
INSERT INTO [NEW_TABLE] (
FieldName1
,FieldName2
,FieldName3
,etc etc
)
SELECT A_Field
,A_Field_2
,A_Field_3 etc etc
FROM SNAPSHOT_HISTORY
WHERE SPASHOT_HISTORY.CreatedDate >= A_DATE.
Убедитесь, что поля соответствуют правильным столбцам.