SQL更新字段问题,大家帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/27 12:16:36
SQL2005数据库,我更新一张表,大约40多个字段,如果一天只更新一个字段,我怎样知道我哪天更新的是哪个字段?
例:SELECT ID,NAME,EMAIL,CARD FROM HUMAN
我是加了触发器了,但是,要知道四五十个字段是很不好判断的,我要写一个VBS的脚本,然后每天通过Email发送

根据你的问题,那么给出我的处理思路,你可以借鉴一下。

--创建测试表,test为主数据表,tt为保存更改的信息表
create table test(id int,t_name varchar(100),p_name varchar(100))
create table tt(id int identity(1,1) ,c_name varchar(100),insert_date datetime default getdate())

--插入测试数据
insert test
select 1,'test','bmw'
union
select 2,'update','mazd'
union
select 3,'del','www'

--创建触发器
go
create trigger tfc on test
for update
as
declare @new_1 varchar(100),@new_2 varchar(100)
declare @old_1 varchar(100),@old_2 varchar(100)

select @new_1=t_name,@new_2=p_name from deleted

select @old_1=t_name,@old_2=p_name from inserted

if @new_1<>@old_1
begin
insert into tt(c_name)
select 't_name'
end

if @new_2<>@old_2
begin
insert into tt(c_name)
select 'p_name'
end

go
--测试语句