触发器插入旧值 - 更新的值 [英] Trigger insert old values- values that was updated

查看:51
本文介绍了触发器插入旧值 - 更新的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在 SQL Server 2008 中创建触发器,该触发器将一行中的所有值插入到日志表中!

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!

例如,如果我有包含列 ID、名称、密码的员工表,并且我更新此表并为列名插入新值,那么我需要在更新表日志后插入员工表中的值.

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.

我该怎么做?谢谢!

推荐答案

这是一个更新触发器示例:

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

这将打印:

id   EmployeeId   LogDate                   OldName
1    1            2010-07-05 20:11:54.127   Zaphoid

这篇关于触发器插入旧值 - 更新的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆