主题:如何创建这个UPDATE的触发器!
我有一个表 tongji 表每分钟 tongji 表都确认至少会发生一个UPDATE 事件(有时候甚至一分钟会发生几百或者上千次的update事件) ,每天23:55分我想让触发器执行一个操作,但是只执行一次!(请注意,要求是每一天执行一次且只执行一次)
那么这个触发器应该怎么写呢?
我是这样写的, 但是感觉不好,我增加了一个FLAG 表。里面有一个FLAG 字段,默认写了一个 0 进去。
IF EXISTS (select 1 from sysobjects where name='trig_tongji')
drop trigger trig_tongji
go
ON tongji
as
declare @bz
set @bz=0
if DATENAME ( hour , getdate() )>=23 and DATENAME ( minute , getdate() )>=55
begin
select @bz=flag from flag
if @bz=0
begin
update flag set flag=1
exec proc_cf --执行一次存储过程
end
end
else
update flag set flag=0
GO
那么这个触发器应该怎么写呢?
我是这样写的, 但是感觉不好,我增加了一个FLAG 表。里面有一个FLAG 字段,默认写了一个 0 进去。
IF EXISTS (select 1 from sysobjects where name='trig_tongji')
drop trigger trig_tongji
go
ON tongji
as
declare @bz
set @bz=0
if DATENAME ( hour , getdate() )>=23 and DATENAME ( minute , getdate() )>=55
begin
select @bz=flag from flag
if @bz=0
begin
update flag set flag=1
exec proc_cf --执行一次存储过程
end
end
else
update flag set flag=0
GO