none
SQL получить дату модификации/создания строки в таблице RRS feed

  • Вопрос

  • Добрый день!

    подскажите как в sql получить дату модификации строки в таблице. возможно ли это? т.е. есть ли в таблице служебное поле типа timestamp
    либо только анализ логов?
    спасибо!
    • Перемещено I.Vorontsov 1 декабря 2009 г. 8:31 (От:Сообщество SQLClub.ru)
    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 0:16 MSDN Forums consolidation (От:SQL Server для разработчиков)
    29 октября 2009 г. 8:16

Ответы

  • Возможно.
    Нужен столбец типа timestamp , который можно использовать, чтобы определить, было ли произведено изменение какого-либо значения в строке с момента ее последнего считывания. При произведении любых изменений в строке значение timestamp будет обновлено. Если в строке не было никаких изменений, значение timestamp будет таким же, как и при предыдущем считывании. Для получения текущего значения timestamp используйте функцию @@DBTS (
    Transact-SQL). Тут написано более подробно: timestamp (Transact-SQL) .
    Также существуют функции Функции отслеживания изменений
    • Предложено в качестве ответа I.Vorontsov 29 октября 2009 г. 9:24
    • Помечено в качестве ответа Moiseev Stanislav 12 ноября 2009 г. 14:23
    29 октября 2009 г. 9:24

Все ответы

  • Возможно.
    Нужен столбец типа timestamp , который можно использовать, чтобы определить, было ли произведено изменение какого-либо значения в строке с момента ее последнего считывания. При произведении любых изменений в строке значение timestamp будет обновлено. Если в строке не было никаких изменений, значение timestamp будет таким же, как и при предыдущем считывании. Для получения текущего значения timestamp используйте функцию @@DBTS (
    Transact-SQL). Тут написано более подробно: timestamp (Transact-SQL) .
    Также существуют функции Функции отслеживания изменений
    • Предложено в качестве ответа I.Vorontsov 29 октября 2009 г. 9:24
    • Помечено в качестве ответа Moiseev Stanislav 12 ноября 2009 г. 14:23
    29 октября 2009 г. 9:24
  • Большое спасибо за помощь!
    уточните пожалуйста по умолчанию такого столбца в таблице нет (системного)?
    т.е. если я ничего этот механизм не применил - получить изменения я не смогу?

    29 октября 2009 г. 10:03
  • Думаю нет.
    Также при создании таблицы, заголовок столбца можно не указывать:
    CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, timestamp)
    29 октября 2009 г. 10:56