Смотреть столбец 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 и контрольную сумму. Однако вы можете пропустить изменения, так как механизм опроса не будет вызван изменением данных, а значения могут меняться более одного раза в интервале опроса.

Другие вопросы по тегам