|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.05.2013, 18:43 | #1 |
Пользователь
Регистрация: 14.11.2012
Сообщений: 15
|
Триггер в SQL Server 2005
Здравствуйте. Есть таблица, в которой два столбца с датами, разница между которыми 10 дней. Нужно создать триггер, который будет обновлять вторую дату при изменении первой (вторая дата = первая дата + 10 дней).
Сделала это следующим образом: ALTER TRIGGER [dbo].[Триггер_upd] ON [dbo].[Registration] FOR UPDATE AS UPDATE Registration SET DOR=DATEADD(day,10,DOI) Первая дата - DOI, вторая - DOR. Но в этом случае обновление происходит при изменении любого столбца таблицы, а не конкретно столбца DOI. Как сделать правильно? |
15.05.2013, 18:55 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Делать обновление только для deleted.DOI<>inserted.DOI
http://msdn.microsoft.com/ru-ru/library/ms191300.aspx А еще не понятно зачем такое поле держать в таблице, если его значение всегда больше на 10 дней другого поля этой же таблицы?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
15.05.2013, 19:05 | #3 |
Пользователь
Регистрация: 14.11.2012
Сообщений: 15
|
Спасибо, попробую. Это учебное задание, база библиотеки, даты - это дата выдачи книги и дата возврата книги.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MS SQL Server: универсальный Logger сделанный как триггер | Glen | SQL, базы данных | 8 | 11.03.2013 13:59 |
MS SQL SERVER 2005 sql querry | reihtmonbern | БД в Delphi | 18 | 26.08.2012 17:06 |
MS SQL SERVER 2005 | reihtmonbern | БД в Delphi | 6 | 31.07.2012 16:57 |
база ms sql server 2005 | zazic2p | SQL, базы данных | 0 | 05.10.2011 17:31 |