Oracle -де қайталанатын жазбаларды жоюдың 4 әдісі

Мазмұны:

Oracle -де қайталанатын жазбаларды жоюдың 4 әдісі
Oracle -де қайталанатын жазбаларды жоюдың 4 әдісі

Бейне: Oracle -де қайталанатын жазбаларды жоюдың 4 әдісі

Бейне: Oracle -де қайталанатын жазбаларды жоюдың 4 әдісі
Бейне: Ашық сабаққа арналған 3 ҮЗДІК ИДЕЯ 2024, Мамыр
Anonim

Oracle -де жұмыс істегенде, сізде кейбір жазбалардың қайталануы бар екенін байқауға болады. Сіз бұл қайталанатын жолдарды анықтап, оның RowID немесе жол мекенжайын қолдана отырып жоя аласыз. Жұмысты бастамас бұрын, жазбаларды жойғаннан кейін оларға сілтеме жасау қажет болған жағдайда резервтік кестені құру қажет.

Қадамдар

4 -ші әдіс 1: Дубликатты анықтау

Oracle 1 -дегі қайталанатын жазбаларды жою
Oracle 1 -дегі қайталанатын жазбаларды жою

Қадам 1. Телнұсқаны анықтаңыз

Бұл жағдайда «Алан» телнұсқасының үлгісін анықтаңыз. Төмендегі SQL енгізу арқылы жойғыңыз келетін жазбалардың қайталанатынына көз жеткізіңіз.

Oracle 2 -дегі қайталанатын жазбаларды жою
Oracle 2 -дегі қайталанатын жазбаларды жою

Қадам 2. «Есімдер» деп аталатын бағаннан анықтау

«» Есімдер «деп аталатын баған жағдайында сіз» column_name «дегенді Аттармен ауыстырар едіңіз.

Oracle 3 -қадамындағы қайталанатын жазбаларды жою
Oracle 3 -қадамындағы қайталанатын жазбаларды жою

Қадам 3. Басқа бағандардан анықтау

Егер сіз телнұсқаны басқа бағанмен анықтағыңыз келсе, мысалы, Аланның есімі емес, жасы, сіз «column_name» орнына «Age» деп жазасыз.

column_name, count (column_name)> 1 бар column_name бойынша кесте тобынан count (column_name) таңдаңыз;

2 -ші әдіс 4: Бір көшірмені жою

Oracle 4 -тегі қайталанатын жазбаларды жою
Oracle 4 -тегі қайталанатын жазбаларды жою

Қадам 1. Есімдерден «атауды таңдаңыз

«Сұраудың стандартты тілін білдіретін» SQL «сөзінен кейін» аттардан атауды таңдауды «енгізіңіз.

Oracle 5 -қадамында қайталанатын жазбаларды жою
Oracle 5 -қадамында қайталанатын жазбаларды жою

Қадам 2. Қайталанатын атауы бар барлық жолдарды жойыңыз

«SQL» сөзінен кейін name = 'Alan';. « Мұнда бас әріппен жазу маңызды екенін ескеріңіз, сондықтан бұл «Алан» деп аталатын барлық жолдарды жояды. «SQL» сөзінен кейін «міндеттеме» енгізіңіз.

Oracle 6 -дағы қайталанатын жазбаларды жою
Oracle 6 -дағы қайталанатын жазбаларды жою

3 -қадам. Қайталанатын жолды қайталаңыз

Енді сіз «Алан» мысал атауы бар барлық жолдарды жойғаннан кейін, «атау мәндеріне кірістіру (» Алан '); «енгізу арқылы бір жолды кірістіре аласыз. «SQL» -ден кейін жаңа жолды құру үшін «міндеттеме» енгізіңіз.

Oracle 7 -дегі қайталанатын жазбаларды жою
Oracle 7 -дегі қайталанатын жазбаларды жою

Қадам 4. Жаңа тізімді қараңыз

Жоғарыда көрсетілген әрекеттерді орындағаннан кейін, «аттардан таңдау * енгізу» енгізу арқылы сізде қайталанатын жазбалар жоқ екеніне көз жеткізуге болады.

SQL> атаулардан атауды таңдау; АТЫ ------------------------------ Алан Кэрри Том Алан жолдары таңдалды. SQL> name = 'Alan' болатын атаулардан жою; жолдар жойылды. SQL> міндеттеме; Міндеттеме аяқталды. SQL> атаулар мәндеріне кірістіру ('Alan'); қатар құрылды. SQL> міндеттеме; Міндеттеме аяқталды. SQL> аттардан * таңдаңыз; АТЫ ------------------------------ Алан Кэрри Том жолдары таңдалды.

3 -ші әдіс 4: Бірнеше көшірмені жою

Oracle 8 қадамындағы қайталанатын жазбаларды жою
Oracle 8 қадамындағы қайталанатын жазбаларды жою

Қадам 1. Жойғыңыз келетін RID идентификаторын таңдаңыз

«SQL» -ден кейін «енгізу» жолағын таңдаңыз, есімдерден атау;. «

Oracle 9 -дағы қайталанатын жазбаларды жою
Oracle 9 -дағы қайталанатын жазбаларды жою

Қадам 2. Көшірмені жойыңыз

«SQL» енгізгеннен кейін, «rowid» атауынан жоюды енгізіңіз (b атауынан min (rowid) таңдаңыз, b.name = a.name); « қайталанатын жазбаларды жою үшін.

Oracle 10 қадамындағы қайталанатын жазбаларды жою
Oracle 10 қадамындағы қайталанатын жазбаларды жою

Қадам 3. Қайталанғанын тексеріңіз

Жоғарыда айтылғандарды орындағаннан кейін, командалар сізде әлі де қайталанатын жазбалардың бар -жоғын тексереді, «Rowid, name from names;» енгізіңіз. содан кейін «міндеттеме».

SQL> rowid, атауынан атауды таңдаңыз; ROWID АТЫ ------------------ ------------------------------ Алан жолдары таңдалды. SQL> атауынан жою a қайда rowid> (b аттарынан min (rowid) таңдаңыз, мұнда b.name = a.name); жолдар жойылды. SQL> rowid, атауынан атауды таңдаңыз; ROWID АТЫ ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Алан AABJnsAAGAAAdfOAAC Кэрри AABJnsAAGAAAdfOAAD Том жолдары таңдалды. SQL> міндеттеме; Міндеттеме аяқталды.

4 -ші әдіс 4: Бағаналы жолдарды жою

Oracle 11 қадамындағы қайталанатын жазбаларды жою
Oracle 11 қадамындағы қайталанатын жазбаларды жою

Қадам 1. Жолдарды таңдаңыз

«SQL» сөзінен кейін «атауынан * таңдаңыз;» енгізіңіз; сіздің жолдарыңызды көру үшін.

Oracle 12 қадамындағы қайталанатын жазбаларды жою
Oracle 12 қадамындағы қайталанатын жазбаларды жою

2 -қадам. Бағанды анықтау арқылы қайталанатын жолдарды жойыңыз

«SQL» «енгізгеннен кейін» атауды жойыңыз, онда rowid> (b.name = a.name және b.age = a.age а аттарынан min (rowid) таңдаңыз); « қайталанатын жазбаларды жою үшін.

Oracle 13 -те қайталанатын жазбаларды жою
Oracle 13 -те қайталанатын жазбаларды жою

Қадам 3. Қайталанғанын тексеріңіз

Жоғарыда көрсетілген әрекеттерді орындап болған соң, «select * from names» енгізіңіз; содан кейін қайталанатын жазбаларды сәтті жойғаныңызды тексеру үшін «міндеттеме беріңіз».

SQL> аттардан * таңдаңыз; АТА ЖАСЫ ------------------------------ ---------- Алан 50 Кэрри 51 Том 52 Алан 50 жолдар таңдалды. SQL> атауынан жою a қайда rowid> (b.name = a.name және b.age = a.age аттарынан min (rowid) таңдаңыз b); жол жойылды. SQL> аттардан * таңдаңыз; АТА ЖАСЫ ------------------------------ ---------- Алан 50 Кэрри 51 Том 52 жол таңдалды. SQL> міндеттеме; Міндеттеме аяқталды.

Ескертулер

  • Өзіңіздің кіруіңізде сақтық көшірме кестесін жасаңыз, оны кез келген жою болғанға дейін болғанын көрсету үшін пайдалануға болады (егер сұрақтар туындаса).

    SQL> атауларды таңдау арқылы * alan.names_backup кестесін құру; Кесте құрылды.

Ұсынылған: