Могу ли я иметь столбец дата + время в обновлении базы данных sql server автоматически при вставке или обновлении? - PullRequest
0 голосов
/ 19 октября 2011

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

Копируя аналогичный столбец в образце базы данных AdventureWorks2008R2, я попытался использовать тип данных datetime2 +, указав столбец Значение по умолчанию как "(getdate ()) "но это не работает для меня

Есть ли способ сделать это на уровне базы данных, поэтому я не полагаюсь на кодировщики клиентских приложений, чтобы установить поле в своем приложении c #?

Ответы [ 2 ]

1 голос
/ 19 октября 2011

Как насчет использования значений по умолчанию?Во время вставки, если вы не предоставите какое-либо значение, столбец будет обновлен с указанным значением по умолчанию.

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)
0 голосов
/ 19 октября 2011

Просмотрите документацию SQL (копирование и вставка не сделают вас более умным) - ключевое слово, которое вы ищете, - TRIGGER. Триггер может реагировать на вставки / обновления / удаления и обновлять вставленные / обновленные данные.

...