有没有在光标内搜索的选项?
例如:我有一个包含行号和值的表(MyTable)
,我想复制到另一个表(TestTable),
但是假设如果有一个值 >= 5,那么下一个值,
我想复制应该是 <= 3。
我可以使用这样的东西:
create table TestTable
(row tinyint,
value tinyint)
declare @row tinyint, @value tinyint, @trigger bit
declare test_cursor cursor fast_forward for
select row,value from MyTable order by row
open test_cursor
fetch next from test_cursor into @row,@value
set @trigger = 0
while @@FETCH_STATUS = 0
begin
if @trigger = 0
begin
insert into TestTable values (@row,@value)
if @value >= 5 set @trigger = 1
end
else if @value <= 3
begin
insert into TestTable values (@row,@value)
set @trigger = 0
end
fetch next from test_cursor into @row,@value
end
close test_cursor
deallocate test_cursor
这会起作用,但我的问题是:有没有办法在游标内搜索
<= 3 一次触发 = 1 的下一个值,
而不是每次都一遍又一遍地获取下一行?