I need to create trigger in SQL Server 2008 that gone insert all values from one row in which some value was changed into Log table!
For example if i have table Employees that have column id, name , password, and i update this table and insert new value for column name, than i need to insert values that was in table Employees after update in table Log.
How I can do this? Thanks!
Here's an example update trigger:
create table Employees (id int identity, Name varchar(50), Password varchar(50)) create table Log (id int identity, EmployeeId int, LogDate datetime, OldName varchar(50)) go create trigger Employees_Trigger_Update on Employees after update as insert into Log (EmployeeId, LogDate, OldName) select id, getdate(), name from deleted go insert into Employees (Name, Password) values ('Zaphoid', '6') insert into Employees (Name, Password) values ('Beeblebox', '7') update Employees set Name = 'Ford' where id = 1 select * from Log
This will print:
id EmployeeId LogDate OldName 1 1 2010-07-05 20:11:54.127 Zaphoid