Comment supprimer des enregistrements en double dans oracle

Lorsque vous travaillez à Oracle, vous constaterez peut-être que certains de vos dossiers ont des dupliqués. Vous pouvez supprimer ces lignes en double en les identifiant et en utilisant son adresse de rangée, ou de son adresse rangée. Avant de commencer, vous devez créer une table de sauvegarde au cas où vous auriez besoin de les référer après avoir supprimé des enregistrements supprimés.

Pas

Méthode 1 de 4:
Identifier votre duplicata
  1. Image intitulée Supprimer les enregistrements en double dans Oracle Step 1
1. Identifier le duplicata. Dans ce cas, identifiez l`exemple duplicata, "Alan." Assurez-vous que les enregistrements que vous essayez de supprimer sont en réalité des duplicats en entrant dans la SQL ci-dessous.
  • Image intitulée Supprimer les enregistrements en double en oracle Step 2
    2. Identifier d`une colonne nommée "Des noms." Dans l`instance d`une colonne nommée "Des noms," vous remplaceriez "nom de colonne" avec des noms.
  • Image intitulée Supprimer les enregistrements en double en oracle Step 3
    3. Identifier d`autres colonnes. Si vous essayiez d`identifier le duplicata par une colonne différente, par exemple l`âge d`Alan plutôt que son nom, vous entreriez "Âge" à la place de "nom de colonne" etc.
    Sélectionnez Column_Name, Nombre (Nom de colonne) à partir du groupe de table par colonne_namehawing Nombre (Nom de colonne) > 1-
  • Méthode 2 sur 4:
    Suppression d`un seul double
    1. Image intitulée Supprimer des enregistrements en double dans Oracle Step 4
    1. Sélectionner "Nom des noms." Après "Sql," qui signifie la langue de requête standard, entrez "Sélectionnez le nom de noms."
  • Image intitulée Supprimer les enregistrements en double en oracle Étape 5
    2. Supprimer toutes les lignes avec le nom duplicate. Après "Sql," Entrer "Supprimer des noms où nom = `Alan`-." Notez que la capitalisation est importante ici, donc cela supprimera toutes les lignes nommées "Alan." Après "Sql," Entrer "s`engager."
  • Image intitulée Supprimer les enregistrements en double en oracle Step 6
    3. Locataire la rangée sans duplicata. Maintenant que vous avez supprimé toutes les lignes avec le nom d`exemple "Alan," vous pouvez insérer un dos en entrant "Insérer dans les valeurs de nom («Alan»)-." Après "Sql," Entrer "s`engager" Pour créer votre nouvelle ligne.
  • Image intitulée Supprimer des enregistrements en double dans Oracle Step 7
    4. Voir votre nouvelle liste. Une fois que vous avez terminé les étapes ci-dessus, vous pouvez vérifier que vous ne disposez plus d`enregistrements en double en entrant "Sélectionnez * à partir de noms."
    Sql > Sélectionnez Nom à partir du nom de noms -------------------------------- ALANCARIRETOMALANROWS sélectionné.Sql > Supprimer des noms où nom = `alan`-lignes supprimé.Sql > commit-commetttement complet.Sql > Insérer dans les valeurs de noms (`Alan`) - Rangée créée.Sql > commit-commetttement complet.Sql > Sélectionnez * à partir du nom de noms -------------------------------- ALANCARIRETOMROWS sélectionné.
  • Méthode 3 sur 4:
    Suppression de plusieurs doublons
    1. Image intitulée Supprimer les enregistrements en double en oracle Step 8
    1. Sélectionnez le Rowid que vous voulez supprimer. Après "Sql," Entrer "Sélectionnez Rowid, nom de noms-."
  • Image intitulée Supprimer des enregistrements en double dans Oracle Step 9
    2. Supprimer le duplicata. Après "Sql," Entrer "Supprimer des noms A Où Rowid > (Sélectionnez Min (Rowid) des noms B où b.Nom = A.Nom)-" Supprimer des enregistrements en double.
  • Image intitulée Supprimer des enregistrements en double dans Oracle Step 10
    3. Vérifier les doublons. Après avoir terminé ce qui précède, les commandes vérifier pour voir si vous avez encore des doublons en entrant "Sélectionnez Rowid, nom de noms-" et alors "s`engager."
    Sql > sélectionnez rowid, le nom des noms-ROWIDNAME ------------------ ------------------------ ------ AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAB AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD TomAABJnsAAGAAAdfOAAF Alanrows sélectionné.Sql > Supprimer des noms awhere Rowid > (Sélectionnez Min (Rowid) de Noms B.Nom = A.Nom) -Rows supprimé.Sql > sélectionnez rowid, le nom des noms-ROWIDNAME ------------------ ------------------------ ------ AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD Tomrows sélectionné.Sql > commit-commetttement complet.
  • Méthode 4 sur 4:
    Suppression de lignes avec des colonnes
    1. Image intitulé Supprimer des enregistrements en double dans Oracle Étape 11
    1. Sélectionnez vos lignes. Après "Sql," Entrer "Sélectionnez * à partir de noms-" Pour voir vos rangées.
  • Image intitulée Supprimer des enregistrements en double en oracle Step 12
    2. Supprimer des lignes en double en identifiant leur colonne. Après "SQL `" Entrer "Supprimer des noms A Où Rowid > (Sélectionnez Min (Rowid) des noms B où b.Nom = A.Nom et b.Âge = un.âge)-" Pour supprimer les enregistrements dupliqués.
  • Image intitulé Supprimer des enregistrements en double dans Oracle Étape 13
    3. Vérifier les doublons. Une fois que vous avez terminé les étapes ci-dessus, entrez "Sélectionnez * à partir de noms-" et alors "s`engager" Afin de vérifier que vous avez supprimé les enregistrements en double avec succès.
    Sql > Sélectionnez * à partir de noms-nameage ------------------------------- ---------- Alan50Carrie51Tom52alan50rows sélectionné.Sql > Supprimer des noms awhere Rowid > (Sélectionnez Min (Rowid) de Noms B.Nom = A.namand b.Âge = un.Âge) -row supprimé.Sql > Sélectionnez * à partir de noms-nameage ------------------------------ -------------- ALAN50CARRIE51TOM52ROWS sélectionné.Sql > commit-commetttement complet.
  • Conseils

    Mises en garde

    Créer une table de sauvegarde dans votre propre signe en ce que vous pouvez utiliser pour montrer ce qui était là avant toute suppression a eu lieu (dans le cas où il y a des questions).
    Sql > créer une table Alan.noms_backup comme sélection * à partir de noms-table créé.
    Articles connexes