sql – 如何在DB2中更新前100行

前端之家收集整理的这篇文章主要介绍了sql – 如何在DB2中更新前100行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道在标准的sql你可以这样做:
update top (100) table1 set field1 = 1

(参考:how can I Update top 100 records in sql server)

但是在DB2中不允许这样做.有没有人可以告诉我如何在DB2中完成相同的结果?谢谢!

解决方法

这是dooable,虽然你可能没有得到你期望的结果…

首先,永远记住sql本质上是不符合的.这意味着除了你明确定义你的意思之外,没有像“顶”行这样的东西.否则,您的结果是“随机”(sortof).

无论如何,这是可以做的,假设你有一些独特的键在桌子上:

UPDATE table1 SET field1 = 1
WHERE table1Key IN (SELECT table1Key
                    FROM table1
                    WHERE field1 <> 1
                    ORDER BY field1
                    FETCH FIRST 100 ROWS ONLY)

为什么一次只想更新100行?你真的想解决什么问题?

猜你在找的MsSQL相关文章