ALTER PROCEDURE [dbo].[getHourMaxRain]
AS
BEGIN
declare @tm datetime
declare @DRP DECIMAL(18,2)
declare @stcd varchar(1000)
declare @MAXDRP varchar(1000)
-- 声明游标
DECLARE C_Employees CURSOR FAST_FORWARD FOR
--要进行循环的结果集(根据实际修改查询语句)
SELECT stcd,tm,DRP from ST_PPTN_R WHERE TM>='2021-04-02 13:30'AND TM<='2021-04-02 14:25:00.000'AND STATUS='ZD'
AND stcd='51300100' ORDER BY TM
OPEN C_Employees;
-- 取第一条记录,由于上面的查询只有一个字段name,如果有多个字段,需定义多个变量,以逗号分隔
FETCH NEXT FROM C_Employees INTO @stcd,@tm,@DRP;
--开始循环
WHILE @@FETCH_STATUS=0
BEGIN
--要进行的操作(根据实际修改)
SET @DRP+=@DRP
--判断一小时
if CONVERT(varchar(100), @tm, 20)=CONVERT(varchar(100), DATEADD(minute, 60, @tm), 20)
Begin
--判断最大累计雨量
if @DRP>@MAXDRP
Begin
SET @MAXDRP=@DRP
End
--判断最大累计雨量结束
End
--判断一小时结束
-- 取下一条记录
FETCH NEXT FROM C_Employees INTO @stcd,@tm,@DRP;
END
--结束循环
-- 关闭游标
CLOSE C_Employees;
-- 释放游标
DEALLOCATE C_Employees;
SELECT @stcd stcd,@tm tm,@DRP DRP
END
sql Server 存储过程游标遍历结果集
猜你喜欢
转载自blog.csdn.net/yuzheh521/article/details/118518237
今日推荐
周排行