从Sybase Cursor获取多行

时间:2015-03-18 17:19:07

标签: cursor sybase sybase-ase

(Sybase ASE)我试图从游标中获取多行可用的东西。到目前为止,我已经设法成功获取1000批次:

DECLARE indexBlockCursor CURSOR
FOR SELECT DISTINCT indexId 
FROM #HighestPriorityIdTypeCode
FOR READ ONLY

SET CURSOR ROWS 1000 for indexBlockCursor

open indexBlockCursor

fetch from indexBlockCursor

这会打印前1000个,当我运行它时,我希望能够操纵这些行。当我尝试:

fetch from indexBlockCursor into #sometable

我收到语法错误,当我获取变量时,我只得到一行。

fetch from indexBlockCursor into @somevariable

请告诉我如何将光标中的行放入我可以操作的内容中。 E.g

fetch from indexBlockCursor into [something]
select * from [something]

由于

1 个答案:

答案 0 :(得分:0)

无法使用SET CURSOR获取ROWS 1000只会作为选择内部内容的proc。 这里的解决方案是:

  1. 创建#sometable,
  2. 在while循环中逐行获取1000次并插入#sometable,
  3. 用#sometable做任何你想做的事。