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