【发布时间】:2011-07-20 00:26:29
【问题描述】:
我在存储过程中使用“设置行数”。我有一个问题, Set RowCount 的范围是什么?考虑以下 SP
CREATE PROC Test
AS
BEGIN
SET ROWCOUNT 10
...........
SET ROWCOUNT 0
END
CREATE PROC Test2
AS
BEGIN
...........
SET ROWCOUNT 0
END
CREATE PROC Test3
AS
BEGIN
SET ROWCOUNT 10
...........
END
CREATE PROC Test4
AS
BEGIN
SET ROWCOUNT 10
SET ROWCOUNT 5
...........
SET ROWCOUNT 0
END
现在在上述 SP 中,您一定看到我的 SetRowcount 语句不匹配。所以我的问题是,如果我忘记在我的开头“Set RowCount N”语句中添加“Set RowCount 0”怎么办。有必要吗?它会影响我的应用程序中其余 SP 的执行吗?
【问题讨论】:
-
它似乎会影响子批次,但在退出快速测试时会重置。
-
@Martin 你能帮我清除一下“但在退出快速测试时会被重置”吗?
-
from a quick test位之前可能应该有一个逗号,以表明它与it seems相关,而不是与upon exiting相关,但Martin 没有击键或错过键或以其他方式忽略添加必要的标点符号。 :) 所以我认为这句话的实际意义是:“从快速测试来看,SET ROWCOUNT语句在 Martin 看来会影响子批次,但在退出 [从存储过程] 时会被重置。 " -
@Andriy - 哎呀,那句话中的标点符号有缺陷!谢谢。
标签: sql sql-server-2008