Смотреть столбец SQL, который был изменен недавно
Мне нужно посмотреть столбцы SQL в таблице, которая была недавно изменена без использования даты последнего изменения
Не могли бы вы помочь мне sql запрос для последних изменений.
оригинальный стол:
S.No Employee id First Name Last Name Address 1
1 00007 J Siva East st
2 020007 G Moorthy West street
3 300007 gan thanu East st
4 100007 esh Moor West street
Модифицированная таблица:
S.No ID сотрудника Имя Фамилия Адрес 1 1 00007 Jun Шива Восток ул 2 020007 Gon Moorthy West Street 3 300007 ган тану Ист-стрит 4 100007 esh Moor West Street
Мне нужно выбрать только ниже 2 строк:
S.No Employee id First Name Last Name Address 1
1 00007 Jun Siva East st
2 020007 Gon Moorthy West street
3 ответа
Решение 1:
Ты должен ADD
столбец в таблице, как Modified_Date
и обновите столбец с помощью GETDATE()
на каждом обновлении.
Каждый раз, когда столбец обновляется, и легко найти недавно обновленные столбцы.
S.No Employee id First Name Last Name Address 1 Modified_Date
1 00007 Jun Siva East st 2018-04-18
2 020007 Gon Moorthy West street 2018-04-18
3 300007 gan thanu East st NULL
4 100007 esh Moor West street NULL
И вы можете получить недавно обновленные значения, используя:
SELECT *
FROM Your_Table
WHERE Modified_Date IS NOT NULL
ORDER BY Modified_Date DESC
Решение 2:
В противном случае вы должны создать TRIGGERS
отслеживать обновления.
Один только SQL не может "наблюдать" за изменениями в данных. Это просто язык запросов, который вы решаете, когда (и нужно ли) позвонить.
Однако существуют специфические для СУБД механизмы, которые могут помочь вам следить за изменениями данных без необходимости опроса (периодически повторять запрос). Например, SQL Server имеет SqlDependency
,
Или вы можете реализовать триггеры, отправляющие уведомления клиентскому приложению, которые могут иметь свой собственный набор компромиссов.
Похоже, что вы не можете изменить схему исходной базы данных по какой-либо причине, так как предыдущих ответов, касающихся даты изменения и триггеров, должно быть достаточно. В качестве альтернативы вы можете опрашивать данные в отдельной таблице аудита и периодически выполнять сравнения, используя предложение WHERE и контрольную сумму. Однако вы можете пропустить изменения, так как механизм опроса не будет вызван изменением данных, а значения могут меняться более одного раза в интервале опроса.