【发布时间】:2016-08-25 09:03:12
【问题描述】:
如何提前获取游标中的最后一次迭代以将其与值进行比较并在满足条件时中断。
OPEN lcr_trans
FETCH NEXT FROM lcr_trans INTO @trans_time , @machine_id , @trans_camp_code;
WHILE @@FETCH_STATUS = 0
BEGIN
IF(cast(@shift_start_time as time)<>'00:00:00.0000000' AND (cast(@shift_end_time as time)<>'00:00:00.0000000' ) )
BEGIN
SELECT TOP 1 @CompareWeekend= transtime_out from overtime where emp_num = @emp_num and trans_date = @previous_date;
IF(@CompareWeekend = @trans_time)
BEGIN
BREAK;
END
END
-- The Cursor --
-- ---- --
FETCH NEXT FROM lcr_trans INTO @trans_time , @machine_id , @trans_camp_code;
END
close lcr_trans;
DEALLOCATE lcr_trans;
我希望迭代中的最后一个 @trans_time 与我的变量 .@CompareWeekend 进行比较
【问题讨论】:
-
你不能检查一下光标外的条件吗?为您节省一些时间和 I/O。
标签: sql sql-server database sql-server-2012 cursor