Frank (no reg.): Oarcle - löschen von doppelten Datensätzen

Beitrag lesen

Hallo,

ich bezweifle, dass es mit einer einzelnen (adHoc) Delete-Anweisung (mit oder ohne SubSelect) funktionieren würde aus einer Quelle von variabel (mal 2, mal 1, ...) duplikativen Datensätzen (Duplikatseigenschaft erstreckt sich auch evt. über mehrere Spalten der Quelltabelle) immer nur die duplikate zu entfernen, sprich nur einen immer eindeutigen Datensatz von allen übrig zulassen.

Oracle sollte doch wirklich temporäre Tabellen innerhalb einer Stored Procedure unterstützen, die danach wieder automatisch weg sind.

Willst du das Datenbank-intern lösen -> dann führt wohl kein vernünftiger Weg an PL/SQL und einer StoredProcedure vorbei.
Datenbank-extern, also eine "Sprache" wie PHP oder ASP interagiert mit der DB, gibt es auch sicher einen Weg, zwar imho nicht mit _einem_ adHoc Delete-Statement aber evt. mit einem Array, da dürfte es dann maximal eine Frage der Performance sein, falls das sehr oft vorkommen sollte.

Wichtig bleibt aber dennoch, dass sich die Duplikate eindeutig identifizieren lassen müssen (über eine ID, nicht über die duplikativen Spalten)

Gruß, Frank