Instruction UPDATE dans Oracle en utilisant SQL ou PL / SQL pour mettre à jour la première ligne en double uniquement
Je suis à la recherche d'une instruction de mise à JOUR où il se mettra à jour une seule ligne en double et demeurent le reste (les doublons) intacte
comme, à l'aide de ROWID ou quelque chose d'autre ou d'autres éléments à utiliser dans Oracle SQL ou PL/SQL?
Voici un exemple duptest table de travail avec:
CREATE TABLE duptest (ID VARCHAR2(5), NONID VARCHAR2(5));
- exécuter un
INSERT INTO duptest VALUES('1','a');
- quatre (4) fois
INSERT INTO duptest VALUES('2','b');
Aussi, la première ligne en double doit être mis à jour (pas supprimé), toujours, alors que les trois autres (3) doivent être restée telle qu'elle est!
Merci beaucoup,
Val.
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Fera ce travail pour vous:
Cela a fonctionné pour moi, même en cas de récidive de pistes.
Je pense que cela devrait fonctionner.
Je sais que cela ne répond pas à votre question initiale, mais il n'y a pas de clé sur votre table et le problème que vous devez résoudre une ligne spécifique résultats.
Donc, ma suggestion - si l'application spécifique permet - il serait d'ajouter une colonne de clé à votre table (par exemple REAL_ID as INTEGER).
Ensuite, vous pouvez trouver le plus bas de l'id pour les doublons
et de la mise à jour de ces lignes:
Je suis sûr que l'instruction de mise à jour peut être à l'écoute un peu, mais j'espère que ça illustre bien l'idée.
L'avantage, c'est un "nettoyeur" de la conception (votre id de colonne n'est pas vraiment une pièce d'identité), et une plus portable solution que de s'appuyer sur la DB des versions spécifiques de rowid.