使 Microsoft® SQL Server™ 在返回指定的行數之后停止處理查詢。
SET ROWCOUNT
{ number | @number_var
}
number | @number_var
是在停止給定查詢之前要處理的行數(整數)。
建議將當前使用 SET ROWCOUNT 的 DELETE、INSERT 和 UPDATE 語句重新編寫為使用 TOP 語法。有關更多信息,請參見 DELETE、INSERT 或 UPDATE。
對于在遠程表和本地及遠程分區(qū)視圖上執(zhí)行的 INSERT、UPDATE 和 DELETE 語句,忽略 SET ROWCOUNT 選項設置。
若要關閉該選項(以便返回所有的行),請將 SET ROWCOUNT 指定為 0。
說明 設置 SET ROWCOUNT 選項將使大多數 Transact-SQL 語句在已受指定數目的行影響后停止處理。這包括觸發(fā)器和 INSERT、UPDATE 及 DELETE 等數據修改語句。ROWCOUNT 選項對動態(tài)游標無效,但限制鍵集的行集和不感知游標。使用該選項時應謹慎,它主要與 SELECT 語句一起使用。
如果行數的值較小,則 SET ROWCOUNT 替代 SELECT 語句 TOP 關鍵字。
SET ROWCOUNT 的設置是在執(zhí)行或運行時設置,而不是在分析時設置。
SET ROWCOUNT 權限默認授予所有用戶。
SET ROWCOUNT 在指定的行數后停止處理。在下例中,注意有 x 行滿足預付款少于或等于 $5,000 的條件;但是,從更新所返回的行數中可以看出并非所有的行都得到處理。ROWCOUNT 影響所有的 Transact-SQL 語句。
USE pubs
GO
SELECT count(*) AS Cnt
FROM titles
WHERE advance >= 5000
GO
下面是結果集:
Cnt
-----------
11
(1 row(s) affected)
現在,將 ROWCOUNT 設置為 4,并更新預付款等于或大于 $5,000 的所有行。
-- SET ROWCOUNT to 4.
SET ROWCOUNT 4
GO
UPDATE titles
SET advance = 5000
WHERE advance >= 5000
GO
相關文章