Как да изтриете повтарящи се записи в oracle
Повтарящите се линии в Oracle могат да бъдат диференцирани само чрез техния "Rowid" (линия адрес).
Стъпка
един. Извадете нишката с помощта на Rowid. Това е най-лесният начин за премахване на записа.
SQL> Изберете Rowid, име от имена-Rowidname ---------------------------------------- -------- aabjnsaagaaaaaaaaaaaaaaaaaaaaaaaaaaac carrieaabjnsaagaaadfoaad tom4 редове с избрано.SQL> Изтрий от имена, където Rowid = `aabjnsaagaaadfoaa`-1 ред се изтрива.SQL> Комитет.SQL> Изберете Rowid, име от имена-RowidName ---------------------------------------------------- Aabjnsaagaaaaaaaaaac carrieaabjnsaagaaadfoaad Избрани редове Tom3.

2. Изтрийте всички повтарящи се линии, с изключение на един.
SQL> Изберете име от имена-име ------------------------------ alancarrietomalan4 редове.SQL> Изтрий от имена, където името = `alan`-2 редовете изтрити.SQL> Комитет.Sql> вмъкнете в имена ("Alan") - 1 ред създаден.SQL> Комитет.SQL> Изберете * от имена-име -------------------------------------------- Alancarietomrows.

3. Използвайте функцията MAX или MIN, за да греете и изтривате всички други линии. В този случай, ако има няколко дубликати, те ще бъдат изтрити.
SQL> Изберете Rowid, име от имена-Rowidname ---------------------------------------- -------- aabjnsaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaac carrieabjansaagaaadfoaad tomaabjnsaagaaadfoaaf alan5 редове.SQL> Изтриване от имена A2CHER ROWID> (Изберете min (Rowid) от имена b3where b.Име = А.Име 4) -2 реда изтрити.SQL> Изберете Rowid, име от имена-Rowidname ---------------------------------------- -------- AABJNSAAGAADFOAAAAAACAAC CARRIEAABJNSAAC CARRIEAABJNSAAGAADFOAAD TOM3 Редове.SQL> Комитет.}}
[[Image: Изтрийте дублиращите се записи в Oracle Step 4.JPG | Център | 550px]] {{coadbox | lang ="Oracle8"> SQL> Изберете * от имена-пък :---------------------------- ---------- alan50carrie51tom52alan504 Избрани редове.SQL> Изтриване от имена A2CHER ROWID> (Изберете min (Rowid) от имена b3where b.Име = А.Име 4 и Б.Възраст = А.Възраст5) -1 ред изтрит.SQL> Изберете * от имена-прикритие -------------------------------------------- ---------- Alan50carrie51Tom52rows.SQL> Комитет.
Предупреждения
- Създайте резервно копие на масата, за да сравните и покажете съдържанието на таблицата, преди да изтриете нещо (ако имате някакви въпроси).
SQL> Създаване на маса Alan.Name_backup, както е изберете * от създадената таблица.