日期:2014-05-17  浏览次数:20601 次

关于SQL数据记录追踪问题
1.我有SQL数据库OneName 
2.库中有两个表Name和表AmendName,这两个表的结构完全一样。
3.我的目的是:用户如果修改了表Name中的一条记录后,同时将‘修改的这条记录’完整的复制到表AmendName中,以便后期查询。

------解决方案--------------------
如果是08以下,用触发器after update那个。如果是08,可以使用cdc功能,去下广告:
点击这里
------解决方案--------------------

if OBJECT_ID('Name','u') is not null
drop table Name
create table Name
(
ID int,
Name varchar(20),
)
go 
insert into Name
select 1,'name1' union all
select 2,'name2'

if OBJECT_ID('AmendName','u') is not null
drop table AmendName
create table AmendName
(
ID int,
Name varchar(20),
)
go 

if OBJECT_ID('UpdateTri','tr') is not null
drop trigger UpdateTri

go
create trigger UpdateTri on Name
for update
as
insert into AmendName select *From inserted
go