SQL Server在oracle中是否有像“数组大小”这样的参数?

时间:2011-06-28 12:11:59

标签: sql-server oracle

如标题中所述。我想知道SQL Server可以部分执行像oracle这样的SQL吗? means server wait client to process the data in last network packet and then fill next packet我注意到当您在SQLServer Management Studio中执行select语句时,您可以在语句仍在运行时立即获取第一行。但我不能在ADO组件中得到这个。我能想到的只是使用服务器端游标并使用非键集类型游标。但ADO使用 sp_cursoropen和sp_cursorfetch 来执行此操作。不使用像sql * plus这样的缓存大小。它主要是客户端行为,而不像SSMS中的现象。我想知道为什么。

2 个答案:

答案 0 :(得分:1)

您指的是SET ARRAYSIZESQL*Plus command吗?

如果是这样,类似的设置可能是SET ROWCOUNT。我可能会遗漏一些细微之处,因为我每天都不使用Oracle。

如果我猜错了,那么你可以扩展“数组大小”的功能吗,因为我在搜索Oracle数组大小时找不到任何看似相关的匹配。


实际上,重新阅读我在SQL * Plus中可以找到set arraysize的内容,它似乎与ROWCOUNT完全不同。但是描述(似乎控制每次往返返回的行数,但不限制行的总数)似乎与您的描述“部分执行类似Oracle的SQL”不符。我无法想到任何可以控制返回给客户的结果批处理的东西。

答案 1 :(得分:1)

似乎SQL Server中的相应功能称为阵列提取大小。 (例如,讨论here。)