Hallo, kann mir jemand bei folgendem Problem helfen?!?
Es gibt eine Tabelle Kunde: (IDKUNDE, Name).
In der Spalte "NAME" sind doppelte Einträge. Ich brauche eine Prozedur oder Block, mit einem cursor die alle Einträge die doppelt sind löscht, sodass nur ein Name jeweils übrig bleibt.
Habe schonmal angefangen aber komme irgendwie nicht weiter...
DECLARE
v_anzahl number;
CURSOR cur_Kunden IS SELECT NAME,
from tblkunden // Irgendwie müsste hier noch abgefragt werden, vielleicht mit "having" ... dass er nur datensätze speichert, die eben doppelt sind;
v_kundensatz cur_Kunden%ROWTYPE;
Begin
select count(*) into v_anzahl from cur_Kunden;
OPEN cur_Kunden;
FETCH cur_Kunden INTO v_kundensatz;
for i IN 1 .. v_anzahl LOOP
// Befehl zum löschen des Datensatzes
FETCH cur_Kunden INTO v_kundensatz;
END LOOP;
CLOSE cur_Kunden;
END;
wäre super wenn mir jemand helfen könnte =)
Es gibt eine Tabelle Kunde: (IDKUNDE, Name).
In der Spalte "NAME" sind doppelte Einträge. Ich brauche eine Prozedur oder Block, mit einem cursor die alle Einträge die doppelt sind löscht, sodass nur ein Name jeweils übrig bleibt.
Habe schonmal angefangen aber komme irgendwie nicht weiter...
DECLARE
v_anzahl number;
CURSOR cur_Kunden IS SELECT NAME,
from tblkunden // Irgendwie müsste hier noch abgefragt werden, vielleicht mit "having" ... dass er nur datensätze speichert, die eben doppelt sind;
v_kundensatz cur_Kunden%ROWTYPE;
Begin
select count(*) into v_anzahl from cur_Kunden;
OPEN cur_Kunden;
FETCH cur_Kunden INTO v_kundensatz;
for i IN 1 .. v_anzahl LOOP
// Befehl zum löschen des Datensatzes
FETCH cur_Kunden INTO v_kundensatz;
END LOOP;
CLOSE cur_Kunden;
END;
wäre super wenn mir jemand helfen könnte =)
Comment