触发器响应Insert,要处理每条记录,需要使用游标吗?
这里使用游标,是不是多余的?请指教
我是这样写的。
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
-- 新建触发器
ALTER trigger trig_level_ST_River_R -- 触发器名称
on [zj_sy_st].dbo.ST_River_R -- 对应的表名
for insert
as
begin
-- 触发器语句块--------------------------------------------------------------开始
SET NOCOUNT ON
declare @stcd varchar(8) -- 站点ID
declare @YMDHM datetime -- 当前所对应的时间
declare @ZR decimal(8,2) -- 水位
-- 定义一个查询逻辑表的游标
declare level_cursor cursor local for select stcd,YMDHM,ZR from inserted
open level_cursor
fetch next from level_cursor into @stcd,@YMDHM,@ZR
while @@fetch_status=0
begin
-- 循环游标
-- 执行存储过程
set @stcd=rtrim(@stcd)
set @stcd=lower(@stcd)
if DATEADD( hh , -3, getdate()) <= @YMDHM
exec [oa].dbo.proc_warnning_site_level @stcd,@YMDHM,@ZR,'河道'
fetch next from level_cursor into @stcd,@YMDHM,@ZR
end
-- 关闭游标
close level_cursor
-- 释放游标
DealLocate level_cursor
-- 触发器语句块--------------------------------------------------------------结束
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
N嶯/f萐黚}T哊