In Oracle doppelte Datensätze löschen

PDF herunterladenPDF herunterladen

Wenn du mit Oracle arbeitest, stellst du vielleicht hin und wieder fest, dass einige deiner Datensätze Duplikate haben. Du kannst diese doppelten Zeilen löschen, indem du sie identifizierst und ihre RowID, d.h. ihre "Zeilenadresse" nutzt. Zuerst solltest du allerdings ein Backup deiner Tabelle erstellen, falls du nach dem Löschen von Datensätzen auf diese referenzieren musst.

Methode 1
Methode 1 von 4:

Die Duplikate identifizieren

PDF herunterladen
  1. How.com.vn Deutsch: Step 1 Identifiziere das Duplikat.
    Identifiziere in diesem Fall das Beispiel-Duplikat "Alan". Stelle sicher, dass die Datensätze, die du löschen möchtest, tatsächlich Duplikate sind, indem du den SQL-Befehl unten eingibst.
  2. Step 2 Identifizieren in einer Spalte mit der Bezeichnung "Namen".
    In diesem Fall würdest du "column_name" durch "Namen" ersetzen.
  3. How.com.vn Deutsch: Step 3 In anderen Spalten identifizieren.
    Wenn du das Duplikat in einer anderen Spalte identifizieren möchtest, z. B. das Alter von Alan anstelle seines Namens, würdest du anstelle von "column_name" "Alter" eingeben und so weiter.
    select column_name, count(column_name) from table group by column_namehaving count (column_name) > 1;
    Werbeanzeige
Methode 2
Methode 2 von 4:

Ein einzelnes Duplikat löschen

PDF herunterladen
  1. Step 1 Wähle "name from Namen".
    Gib nach "SQL" (dies steht für Standard Query Language) "select name from Namen" ein.
  2. How.com.vn Deutsch: Step 2 Lösche alle Zeilen mit dem doppelten Namen.
    Gib nach "SQL" "delete from Namen where name='Alan';" ein. Achte darauf, dass Groß- und Kleinschreibung hier wichtig ist, dies löscht also alle Zeilen mit dem Namen "Alan". Gib nach "SQL" "commit" ein. [1]
  3. How.com.vn Deutsch: Step 3 Gib die Zeile ohne Duplikat neu ein.
    Jetzt, wo du alle Zeilen mit dem Beispielnamen "Alan" gelöscht hast, kannst du eine wieder einfügen, indem du "insert into name values ('Alan');" eingibst. Gib nach "SQL" "commit" ein, um deine neue Zeile zu erstellen.
  4. How.com.vn Deutsch: Step 4 Sieh dir deine neue Liste an.
    Wenn du die Schritte oben ausgeführt hast, kannst du prüfen, ob es keine doppelten Datensätze mehr gibt, indem du "select * from Namen" eingibst.
    SQL > select name from Namen;NAME------------------------------AlanCarrieTomAlanrows selected.SQL > delete from names where name='Alan';rows deleted.SQL > commit;Commit complete.SQL > insert into names values ('Alan');row created.SQL > commit;Commit complete.SQL > select * from names;NAME------------------------------AlanCarrieTomrows selected.
    Werbeanzeige
Methode 3
Methode 3 von 4:

Mehrere Duplikate löschen

PDF herunterladen
  1. How.com.vn Deutsch: Step 1 Wähle die RowID, die du löschen möchtest.
    Gib nach "SQL" "select rowid, name from names;" ein.
  2. How.com.vn Deutsch: Step 2 Lösche das Duplikat.
    Gib nach "SQL" "delete from names a where rowid > (select min(rowid) from names b where b.name=a.name);" ein, um doppelte Datensätze zu löschen.[2]
  3. How.com.vn Deutsch: Step 3 Prüfe auf Duplikate.
    Nachdem du die Schritte oben ausgeführt hast, prüfe, ob du noch immer doppelte Datensätze hast, indem du "select rowid,name from names;" und dann "commit" eingibst.
    SQL > select rowid,name from names;ROWID              NAME------------------ ------------------------------AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAB AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD TomAABJnsAAGAAAdfOAAF Alanrows selected.SQL > delete from names awhere rowid > (select min(rowid) from names bwhere b.name=a.name);rows deleted.SQL > select rowid,name from names;ROWID              NAME------------------ ------------------------------AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD Tomrows selected.SQL > commit;Commit complete.
    Werbeanzeige
Methode 4
Methode 4 von 4:

Zeilen mit Spalten löschen

PDF herunterladen
  1. How.com.vn Deutsch: Step 1 Wähle deine Zeilen.
    Gib nach "SQL" "select * from names;" ein, um deine Zeilen zu sehen.
  2. How.com.vn Deutsch: Step 2 Lösche doppelte Zeilen, indem du ihre Spalten identifizierst.
    Gib nach "SQL" "delete from names a where rowid > (select min(rowid) from names b where b.name=a.name and b.age=a.age);" ein, um die doppelten Datensätze zu löschen.[3]
  3. How.com.vn Deutsch: Step 3  Prüfe auf Duplikate.
    Wenn du die Schritte oben ausgeführt hast, gib "select * from names;" und dann "commit" ein, um zu überprüfen, ob du die doppelten Datensätze erfolgreich gelöscht hast.
    SQL > select * from names;NAME                                  AGE------------------------------ ----------Alan                                   50Carrie                                 51Tom                                    52Alan                                   50rows selected.SQL > delete from names awhere rowid > (select min(rowid) from names bwhere b.name=a.nameand b.age=a.age);row deleted.SQL > select * from names;NAME                                  AGE------------------------------ ----------Alan                                   50Carrie                                 51Tom                                    52rows selected.SQL > commit;Commit complete.
    Werbeanzeige

Warnungen

  • Erstelle unter deinem eigenen Login ein Backup der Tabelle, die du verwenden kannst, um zu zeigen, was vorhanden war, bevor du etwas gelöscht hast (falls irgendwelche Fragen auftauchen).
    SQL > create table alan.names_backup as select * from names;Table created.
Werbeanzeige

Über dieses How.com.vn

How.com.vn Deutsch: How.com.vn Staff
unter Mitarbeit von :
How.com.vn's Autoren
Dieser Artikel wurde durch speziell ausgebildete Mitglieder unseres Mitarbeiter-Teams bearbeitet, was Vollständigkeit und Genauigkeit garantiert.

How.com.vn's Kontroll-Management Team prüft die bearbeiteten Inhalte sorgfältig, um zu garantieren, dass jeder Einzelne den hohen Qualitätsansprüchen entspricht. Dieser Artikel wurde 7.641 Mal aufgerufen.
Kategorien: Computer
Diese Seite wurde bisher 7.641 mal abgerufen.

War dieser Artikel hilfreich?

⚠️ Disclaimer:

Content from Wiki How Deutsch language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

Werbeanzeige