SQL server 更新表中最新数据的问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 20:14:17
table表字段名分别为A1,A2,B1,B2,C1,C2,D1,D2(内容都为时间)
怎样写个触发器或者asp网页代码判断取A1,B1,C1中最新时间写入D1中。A2,B2,C2中最新时间写入D2中。
或者分别取A1~C2之间的最新两个时间写入D1,D2中。
---------------------------------
或者简单点,判断当C1为空时,B1写入D1,B1为空时,A1写入D1。D2亦是如此。

求各位高手给代码,触发器或者asp代码都行。在下万分感谢!

写触发器写了个,不知道好不好使,我仍然建议去后台写代码更好点。
create trigger tg_test on table
for insert
as
begin
declare @a1 datetime,@b1 datetime,@c1 datetime,@a2 datetime,@b2 datetime,@c2 datetime
set @a1=(select A1 from inserted)
set @b1=(select B1 from inserted)
set @c1=(select C1 from inserted)
set @a2=(select A2 from inserted)
set @b2=(select B2 from inserted)
set @c2=(select C2 from inserted)
declare @d1 datetime,@d2 datetime
set @d1=(
select top 1 f from(
select @a1 f
union all
select @b1 f
union all
select @c1 f
) a
order by f desc)
set @d2=(
select top 1 f from(
select @a2 f
union all
select @b2 f
union all
select @c2 f
) a
order by f desc)

update table set D1=@d1 where A1=@a1 and B1=@b1 and C1=@c1
update table set D2=@d2 where A2=@a2 and B2=@b2 and C2=@c2
end

这个功能建议你用ASP代码实现,读一行数据执行一个更新