Переместить записи транзакций из таблицы транзакций в архивные таблицы на основе даты завершения - SQL Server - PullRequest
0 голосов
/ 28 мая 2018

В нашем приложении у нас есть одна таблица транзакций, которая содержит огромные данные.Поэтому мы решили переместить старые данные в архивную таблицу на основе предоставленной даты отсечения (например, если дата отсечения 2013, а затем перенести все записи до 2013 года в таблицу архива).У нас есть следующие три таблицы Transaction_Details, Transaction_Headers и Bill_Mapping (я не включил все таблицы и все столбцы):

enter image description here

Transaction_Details таблица содержит ID (идентификатор транзакции), Transaction_Header_ID и другие сведения.

Transaction_Headers содержит дополнительные сведения об этой транзакции (например, Payment_Type_ID и GL_Date (мы хотим сравнить отсечение с этим столбцом) и т. Д.)

Bill_Mapping таблица содержит сопоставление транзакций с другими транзакциями (кредитными и дебетовыми) и Amount.

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

Пример: дата отсечения 2013-11-01 00: 00: 00.000

Теперь, если вы видите в таблице Transaction_Details выше (скриншот), ID которогоотмеченные зелёным имеют GL_Date (что в таблице Transaction_Headers) меньше, чем дата отсечения.

Теперь в таблице Bill_Mapping видно, что идентификатор транзакции 5434125 связан с 5420422 (GL_Date: 2013-10-05) и 5415415 (GL_Date: 2013-12-01).Таким образом, 5420422 ниже даты отсечения, а 5415415 выше даты отсечения.Здесь я не хочу перемещать эти 3 идентификатора транзакции в архивную таблицу (потому что, хотя 5434125 и 5420422 находятся ниже даты отсечения. Но 5434125 частично связан с 5415415, который выше даты отсечения).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...