Doppelte Datensätze löschen

Hallo,

gibt es unter PostgreSQL eine einfache Möglichkeit, doppelte Datensätze in einer Tabelle zu löschen?
Habe bisher nichts gefunden. :?:


Vielen Dank
RainerB

Hallo,

es gibt keinen speziellen Befehl dafür. Der Rest ist Abhängig von der Applikation und den Bedingungen: Single User, Multi User, im laufernden Betrieb oder Entwicklung. Wie sind bei Dir die Bedingungen?



mfg

fristo

Hallo,

also bei meinem Problem läuft die Datenbank im Singleuser-Betrieb und der Nutzer hat die Möglichkeit, Daten zu importieren. Dabei ist kein anderer Datenverkehr vorhanden. Nach oder während des Imports soll die Tabelle auf Datensätze mit identischem Inhalt überprüft werden und doppelte Einträge gelöscht werden. Das mit SQL-Befehlen zu programmieren ist zwar möglich, aber die Ausführung dauert bei großen Tabellen eben auch seine Zeit. Deshalb wollte ich eine Möglichkeit finden, wie beim SELECT DISTINCT eine einfachere Auswahlmöglichkeit zu haben.

RainerB

Hallo RainerB,

am sinnvollsten ist es eine zusätzliche Importtabelle zu anzulegen. Dann kann man mit SELECT DISTINCT am einfachsten die doppelten Einträge aussortieren und in die Bestandstabelle einfügen. Dieses Verfahren dürfte noch die schnellste Methode sein. Dieses gilt auch für den Fall, dass man die neuen Datensätze gegen die bereits vorhanden Bestandsdaten testen muss.


mfg

fristo

Hallo fristo,

das ist eine gute Variante, wo ich zum Anfang sowieso die bestehenden Tabelle in temporären Tabellen sichere. Da können diese gleich für den Import genutzt werden und zum Schluß in die alten hinein “selectiert” werden.

Vielen Dank für Deine Hilfe

RainerB