当前位置:  开发笔记 > 数据库 > 正文

Oracle中的UPDATE语句使用SQL或PL/SQL仅更新第一个重复行

如何解决《Oracle中的UPDATE语句使用SQL或PL/SQL仅更新第一个重复行》经验,为你挑选了1个好方法。

我正在寻找一个UPDATE语句,它只更新一个重复的行并保持其余(重复的行)原样,使用ROWID或其他东西或其他元素在Oracle SQL或PL/SQL中使用?

这是一个使用的示例duptest表:

CREATE TABLE duptest (ID VARCHAR2(5), NONID VARCHAR2(5));

跑一个 INSERT INTO duptest VALUES('1','a');

跑了四(4)次 INSERT INTO duptest VALUES('2','b');

此外,必须始终更新(不删除)第一个重复行,而其他三个(3)必须保持原样!

非常感谢,Val.



1> Brian Schmit..:

这对你有用吗:

update duptest 
set nonid = 'c'
WHERE ROWID IN (SELECT   MIN (ROWID)
                              FROM duptest 
                          GROUP BY id, nonid)

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有