Хотите найти записи из таблицы, которые были обновлены или добавлены за последний месяц? - PullRequest
0 голосов
/ 21 апреля 2010

Я хочу выбрать записи из таблицы, которые обновляются или добавляются за последний месяц (в таблице нет поля даты и времени, и я не могу изменить структуру таблицы). Можно ли написать SQL-запрос для этого? как получить эти записи из таблицы.

С уважением, Кумар

Ответы [ 5 ]

2 голосов
/ 21 апреля 2010

Это возможно, если вам разрешено использовать триггеры и добавлять дополнительные таблицы отслеживания (при этом не затрагивая существующую структуру таблицы)

Очевидно, что вы не сможете узнать, что уже изменилось, но это позволит вам найти решение для отслеживания изменений, внесенных после его внедрения.

Если это полезно, дайте мне знать, и я могу дать вам более подробную информацию.

1 голос
/ 21 апреля 2010

Если вы используете SQL Server 2008 (или имеете возможность обновления), вы можете взглянуть на использование Change Data Capture для отслеживания изменений, внесенных в ваши таблицы. Это решение не предполагает изменения существующих таблиц, но вы вносите изменения на уровне базы данных.

Если обновление до 2008 года невозможно, вы можете создать набор таблиц отслеживания изменений и использовать триггеры для их обслуживания при выполнении обновлений.

0 голосов
/ 22 апреля 2010

Это невозможно сделать, запросив эту таблицу.

Вы можете получить эти записи, проверив журналы транзакций в Oracle. Но я не уверен в Sql Serevr.

0 голосов
/ 21 апреля 2010

Если вы не можете;

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

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

0 голосов
/ 21 апреля 2010

Нет, это невозможно. Вы должны следить за этим, добавляя поля даты в структуру таблицы. мы не можем делать, как вы сказали.

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