Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Триггер лога  [new]
laga1992
Guest
Здравствуйте!
Я практически не имел опыта с MS SQL, хотел бы попросить помощи в написании простенького триггера, срабатывающего на добавление/обновление записей в таблице (TableTest) и сохраняющего в отдельную таблицу (TableLog) изменяемое поле (FieldTest), присутствующее в обеих таблицах.

Т.е. если я добавляю в таблицу TableTest запись с полем FieldTest = "А", то в TableLog тоже добавляется запись с полем FieldTest = "А". Если я после этого изменяю в TableTest предыдущую запись FieldTest с "А" на "В", то в TableLog добавляется ещё одна запись с полем FieldTest = "В".

Такой код не работает, подскажите пожалуйста как сделать правильно:
CREATE TRIGGER TriggerTest ON TableTest FOR INSERT, UPDATE AS INSERT INTO TableLog (FieldTest) VALUES (TableTest.FieldTest)
7 июн 11, 20:57    [10779062]     Ответить | Цитировать Сообщить модератору
 Re: Триггер лога  [new]
Glory
Member

Откуда:
Сообщений: 104751
https://www.sql.ru/articles/mssql/2005/030701ChangesLogging.shtml
7 июн 11, 21:31    [10779170]     Ответить | Цитировать Сообщить модератору
 Re: Триггер лога  [new]
laga1992
Guest
Спасибо! Вот, получилось:

create trigger TriggerTest
on TableTest
for INSERT, UPDATE
as
begin
insert into TableLog (FieldTest)
select
TableTest.FieldTest
from
inserted TableTest
end
7 июн 11, 22:19    [10779350]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить