martinbulinski.de

Löschen doppelter Datensätze Drucken E-Mail
  
Freitag, 17. Oktober 2008 um 17:04

Wenn Datensätze z.B. aufgrund eines fehlenden Primärschlüssels doppelt vorhanden sind, fällt das Löschen scheinbar schwer. Wir benötigen ein Kriterium, das die Datensätze voneinander unterscheidet. Nur welches, wenn doch alle Spalten die gleichen Werte aufweisen?


Die ROWID! Die ROWID ist die physikalische Satzadresse, die jeden Datensatz datenbankweit eineindeutig identifiziert.

Mit Hilfe der ROWID lassen sich nun alle doppelten (oder genauer: mehr als einmal vorkommenden) Datensätze entfernen.

SQL> delete from dubletten x where 
          rowid< (select max(rowid) from dubletten y where x.col=y.col); 
Aktualisiert ( Samstag, 18. Oktober 2008 um 16:26 )
 
Benutzerbewertung: / 2
SchwachPerfekt 

Kommentar schreiben


Sicherheitscode
Aktualisieren

Anmeldung



Wer ist online

Wir haben 6 Gäste online