Получение DATETIME для вставленных / измененных строк - PullRequest
3 голосов
/ 28 июля 2010

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

Итак, мне было интересно, поддерживает ли сервер SQL дату и время для каждой вставки строки.

комментарии приветствуются предложения

С уважением Дипак

Ответы [ 2 ]

2 голосов
/ 28 июля 2010

Нет, SQL Server не создает метки времени автоматически при их создании. Как вы и предлагали, в будущем вы можете создать новый столбец date_created и установить для него значение по умолчанию GETDATE():

ALTER TABLE       your_table  
  ADD CONSTRAINT  dc_your_table_date_created
  DEFAULT         GETDATE()
  FOR             date_created;

Вы также можете использовать триггер вместо этого, если хотите, как @ Vash предложил в другом ответе .

0 голосов
/ 28 июля 2010

Если это бизнес, цель - добавить столбец в таблицу и создать триггер AFTER INSERT или UPDATE, который устанавливает sysdate для этих строк. Или вы можете использовать rowversion

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