我正在寻找一个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.
这对你有用吗:
update duptest set nonid = 'c' WHERE ROWID IN (SELECT MIN (ROWID) FROM duptest GROUP BY id, nonid)