![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Триггеры в MsSQL [D7, MSSQL]
NotGooDP © (2006-09-07 13:35:00)Здравствуйте!
Подскажите пожалуйста каким образом в триггер можно передать данные о записе редакитруемой в данный момент
т.е.
триггер вызваеться при редактировании записи и в другую таблицу передает данные до начала редактирования
CREATE TRIGGER Bef_Update ON Table_ELD For Update as
INSERT History_Table
VALUES(здесь должны быть данные редактируемой таблицы.,GETDATE ( ), USER)
NotGooDP (2006-09-07 15:09:00) [21]Всем спасибо, сейчас попробую.
evvcom (2006-09-07 14:32:00) [22]> [4] Ega23 © (07.09.06 14:26)
Э... Все таки там в инсерте from лишний :)
Ega23 (2006-09-07 14:28:00) [23]Впрочем, это уже от логики зависит.
Ega23 (2006-09-07 14:28:00) [24]
insert into History_Table from (select field1, getdate(), user from inserted)
Только я бы сначала объявил переменную типа datetime, записал в неё значение getdate() и потом подставлял значение переменной. А то если записей сотня - значение разное будет.
Ega23 (2006-09-07 14:26:00) [25]
> insert into History_Table from (select field1, getdate(),
> user from inserted)
"Абсолютно в ж..у правильно!" (с) Pulp Fiction
evvcom (2006-09-07 14:10:00) [26]Записей может быть и больше одной.
> только после этого производить добавление
Это в смысле история изменений? То как ты написал, тебе, видимо, подойдет
insert into History_Table from (select field1, getdate(), user from inserted)
NotGooDP (2006-09-07 13:51:00) [27]Насколько я понял из BOL необходимо сначала создать переменую
DECLARE @переменная тип
затем переменной присвоить значение
SELECT @переменная = Table_ELD.поле1
From Table_ELD
только после этого производить добавление
INSERT History_Table
VALUES(@переменная ,GETDATE ( ), USER)
правильно ????
Ega23 (2006-09-07 13:41:00) [28]Читай в BOL про inserted и deleted в разделе Create Trigger