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