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

触发器 监视某列
触发器 例如我要监视  
Heat(关注)列更新的时候
Heat+1 或者  Heat-1
这种情况 应该怎么写
触发器

------解决方案--------------------

--1. 建日志表
create table tblog(objectID int,HeatTime datetime)

create trigger tri_U
on tb 
after update
as
begin
if update(Heat)
begin
insert into tblog(objectID,HeatTime)
select ID,getdate() from inserted
end
end

-- 2. 查询日志表
select * from  tblog

------解决方案--------------------
--这个意思?
--1. 建日志表
create table tblog(objectID int,Heat int, newHeat int, HeatTime datetime)
GO

create trigger tri_U
on tb 
after update
as
begin
    if update(Heat)
    begin
insert into tblog(objectID,Heat,newHeat,HeatTime)
select ID,D.Heat,I.Heat,getdate() 
from INSERTED I
INNER JOIN DELETED D
ON I.ID = D.ID
WHERE I.Heat = d.Heat + 1 OR i.Heat = D.Heat - 1
    end
end

GO
-- 2. 查询日志表
select * from  tblog

------解决方案--------------------
引用:
Quote: 引用:

--这个意思?
--1. 建日志表
create table tblog(objectID int,Heat int, newHeat int, HeatTime datetime)
GO

create trigger tri_U
on tb 
after update
as
begin
    if update(Heat)
    begin
insert into tblog(objectID,Heat,newHeat,HeatTime)
select ID,D.Heat,I.Heat,getdate() 
from INSERTED I
INNER JOIN DELETED D
ON I.ID = D.ID
WHERE I.Heat = d.Heat + 1 OR i.Heat = D.Heat - 1