Како да ги избришете повторувачките записи во oracle

Повторувачките линии во Oracle можат да се диференцираат само со користење на нивната "rowid" (линија адреса).

Чекори

  1. Сликата со наслов Избриши дупликат записи во Oracle Чекор 1
Еден. Отстранете ја низата користејќи rowid. Ова е најлесниот начин за отстранување на записот.
SQL> Избери Rowid, Име од имиња-rowidname ------------------ ---------------------- -------- AABJNSAAAAAAAAAAAAAAAAAAAAAAAAAAAC Carrieaabjnsaagaaadfoaad Tom4 редови избрани.SQL> Избриши од имиња каде rowid = `aabjnsaagaaadfoaaa`-1 ред е избришан.Sql> complet-complete заврши.SQL> Избери Роуид, име од имиња-rowidname ------------------ -------------------- AABJNSAAAAAAAAAAAAAAAAAD CarrieaAbjnsaagaADFOAD Избрани Том3 редови.
  • Сликата со наслов Избриши дупликат записи во Oracle Чекор 2
    2. Избришете ги сите повторувачки линии освен еден.
    SQL> Изберете име од имиња-Име ------------------------------- Alancarrietlomal4 редови избрани.SQL> Избриши од имиња каде што избришани името = "Alan`-2 редови избришани.Sql> complet-complete заврши.SQL> вметнете во имиња вредности ("Алан") - 1 ред создаден.Sql> complet-complete заврши.SQL> Избери * од името на имињата ------------------------------- Alancarrietomrows избрани.
  • Сликата со наслов Избриши дупликат записи во Oracle Чекор 3
    3. Користете ја функцијата MAX или MIN за да ги избришете и избришете сите други линии. Во овој случај, ако има неколку дупликати, тие ќе бидат избришани.
    SQL> Избери Rowid, Име од имиња-rowidname ------------------ ---------------------- -------- AABJNSAAAAAAAAAAAAAAAAAAAAAAC Carrieaabjansaagaaadfoaad TomaabjnsaagaAdfoaaf Alan5 Редови избрани.SQL> Избриши од имиња A2 Кадеј ROWID> (Изберете Min (Rowid) од имињата B3 каде што B.Име = А.Name4) -2 редови избришани.SQL> Избери Rowid, Име од имиња-rowidname ------------------ ---------------------- -------- AABJNSAAADFOAAAAAAAC CarrieaAbjnsaac Carrieaabjnsaagaaadfoaad Tom3 редови избрани.Sql> complet-complete заврши.}}}
  • Дупликат линија 3 погоре и додадете име на нова колона ако имате неколку колони во табелата. Да претпоставиме дека имате колона од векови, тимот ќе биде следниот.

    [[Image: Избришете дупликат записи во Oracle Чекор 4.JPG | Центар | 550px]] {{codebox | Lang = "Oracle8"> SQL> Избери * од имиња-nameage ---------------------------------- ---- alan50carrie51tom52ALAN504 избрани редови.SQL> Избриши од имиња A2 Кадеј ROWID> (Изберете Min (Rowid) од имињата B3 каде што B.Име = А.Име4 и Б.Возраст = А.Age5) -1 ред избришани.SQL> Одберете * од имиња-nameage --------------------------------------- alan50carrie51tom52rows.Sql> complet-complete заврши.
  • Предупредувања

    • Направете резервна копија од табелата за споредба и покажете ја содржината на табелата пред да избришете нешто (ако имате било какви прашања).
    SQL> Креирај Табела Алан.Inestry_backup како Избери * од креирани имиња-табела.
    Слични публикации