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

Мазмұны:

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

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

Бейне: Oracle -де қайталанатын жазбаларды жоюдың 4 әдісі
Бейне: Word бағдарламасы. Word пен жұмыс жасау. (Вставка) Курс 4 (1 - Бөлім) 2024, Мамыр
Anonim

Oracle -де жұмыс істей отырып, сіз кейбір жазбаларда қайталануларды таба аласыз. Қайталанатын жолдарды оларды анықтау арқылы және сәйкес RowID бүркеншік ат жолының адресін қолдану арқылы жоюға болады. Бастамас бұрын, жазбаны жойғаннан кейін сілтеме қажет болған жағдайда резервтік кестені жасаңыз.

Қадам

4 -ші әдіс 1: қайталанатындарды анықтау

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

Қадам 1. Қайталанатындарды анықтаңыз

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

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

2 -қадам. «Аты» деп аталатын бағаннан анықтаңыз

Егер бағанда «Аты» деген тақырып болса, «column_name» дегенді Name -мен ауыстыру қажет.

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

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

Егер сіз әр түрлі бағандардан көшірмелерді анықтағыңыз келсе, мысалы, Аланның жасы, оның атауының орнына «баған_атының» орнына «Жасы» енгізіңіз.

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» -ден кейін «rowid, name from name;.» Енгізіңіз.

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

Қадам 2. Көшірмелерді жою

«SQL» -ден кейін «атауды жою а -дегі атауды енгізіңіз> (мин. телнұсқаларды жою үшін.

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

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

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

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

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

Ескерту

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

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

Ұсынылған: