有没有选择在光标内搜索?
例如:我有一个表(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
那会有效,但我的问题是:有没有办法在光标内搜索
对于下一个falue&lt; = 3一旦触发= 1,
而不是每次都反复取出下一行?
答案 0 :(得分:2)
不,游标不支持你所追求的那种查询。您必须访问每个值并在循环中进行检查。