sql update 语句如何限制更新的行数

sql update 语句如何限制更新的行数??? 比如一个表里有10行,如何做才能让他只更新5行?????

sql update 语句如何限制更新的行数??? 比如一个表里有10行,如何做才能让他只更新5行?????
如何做才能更新中间的,比如我只想更新第4-7行??????

 

sql server2000中通过rowcount实现:

set rowcount 5 --表示受影响的行数为5
update 表名
set......
where.....
这样的话如果查询出的结果超过5行,则只更新前5行.
最后别忘了把rowcount调回来.
set rowcount 0 --置0表示不限制受影响行数.

sql server 2005开始 top 后面支持变量了,所以可以这样实现:

declare @n int
set @n=5
update top(@n) 表名
set ......
where.....

oracle中通过rowcount实现:

update 表名
set ......
where rownum<=5

你可能感兴趣的:(sql,server)