Oracle- ում կրկնօրինակ գրառումները ջնջելու 4 եղանակ

Բովանդակություն:

Oracle- ում կրկնօրինակ գրառումները ջնջելու 4 եղանակ
Oracle- ում կրկնօրինակ գրառումները ջնջելու 4 եղանակ

Video: Oracle- ում կրկնօրինակ գրառումները ջնջելու 4 եղանակ

Video: Oracle- ում կրկնօրինակ գրառումները ջնջելու 4 եղանակ
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Մայիս
Anonim

Oracle- ում աշխատելիս կարող եք պարզել, որ ձեր որոշ գրառումներ կրկնօրինակներ ունեն: Դուք կարող եք ջնջել այս կրկնօրինակ տողերը ՝ դրանք նույնականացնելով և օգտագործելով դրա RowID- ը կամ տողի հասցեն: Սկսելուց առաջ դուք պետք է ստեղծեք պահուստային աղյուսակ, եթե գրառումները ջնջելուց հետո անհրաժեշտ լինի դրանք հղել:

Քայլեր

Մեթոդ 1 4 -ից. Բացահայտեք ձեր կրկնօրինակը

Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 1
Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 1

Քայլ 1. Բացահայտեք կրկնօրինակը:

Այս դեպքում նշեք կրկնօրինակի օրինակը ՝ «Ալան»: Համոզվեք, որ գրառումները, որոնք փորձում եք ջնջել, իրականում կրկնօրինակներ են ՝ ստորև բերելով SQL:

Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 2
Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 2

Քայլ 2. «Անուններ» անունով սյունակից նույնականացում:

«« Անուններ »անունով սյունակի դեպքում« սյունակի_անունը »կփոխարինեիք Անուններով:

Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 3
Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 3

Քայլ 3. Այլ սյուներից նույնականացում:

Եթե դուք փորձում էիք կրկնօրինակը նույնացնել մեկ այլ սյունակով, օրինակ ՝ Ալանի տարիքը, այլ ոչ թե նրա անունը, ապա «դարաշրջան» մուտքագրեիք «սյունակի_անվան» տեղում և այլն:

ընտրել սյունակի_անուն, հաշվել (սյունակի_անուն) աղյուսակի խմբից ըստ սյունակի_անուն `հաշվելով (սյունակի_անուն)> 1;

Մեթոդ 2 4 -ից. Մեկ կրկնակի ջնջում

Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 4
Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 4

Քայլ 1. Ընտրեք «անունը անուններից:

«SQL» - ից հետո, որը նշանակում է Ստանդարտ հարցման լեզու, մուտքագրեք «ընտրեք անուն անուններից»:

Deնջել կրկնօրինակ գրառումները Oracle- ում Քայլ 5
Deնջել կրկնօրինակ գրառումները Oracle- ում Քայլ 5

Քայլ 2. Deնջել բոլոր տողերը կրկնօրինակ անունով:

«SQL» - ից հետո «մուտքագրեք» ջնջել անուններից, որտեղ անունը = 'Ալան'; Նկատի ունեցեք, որ մեծատառերն այստեղ կարևոր են, ուստի սա կջնջի «Ալան» անունով բոլոր տողերը: «SQL» - ից հետո մուտքագրեք «commit»:

Deնջել կրկնօրինակ գրառումները Oracle- ում Քայլ 6
Deնջել կրկնօրինակ գրառումները Oracle- ում Քայլ 6

Քայլ 3. Վարձեք տողը առանց կրկնօրինակների:

Այժմ, երբ ջնջել եք «Ալան» օրինակով բոլոր տողերը, կարող եք մեկը հետ տեղադրել ՝ մուտքագրելով «տեղադրեք անվան արժեքների մեջ (« Ալան »);.»: «SQL» - ից հետո մուտքագրեք «commit» ՝ ձեր նոր տողը ստեղծելու համար:

Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 7
Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 7

Քայլ 4. Տեսեք ձեր նոր ցուցակը:

Վերոնշյալ քայլերն ավարտելուց հետո կարող եք ստուգել ՝ համոզվելու համար, որ այլևս չունեք կրկնօրինակ գրառումներ ՝ մուտքագրելով «անուններից ընտրեք *»:

SQL> անուններից ընտրեք անուն; ԱՆՎԱՆՈՄ ------------------------------ Ալան Քերի Թոմ Ալանի տողերն ընտրված են: SQL> ջնջել անուններից, որտեղ անունը = 'Ալան'; տողերը ջնջված են: SQL> պարտավորություն; Պարտավորությունն ավարտված է: SQL> տեղադրեք անունների արժեքներ («Ալան»); տողը ստեղծվել է: SQL> պարտավորություն; Պարտավորությունն ավարտված է: SQL> ընտրեք * անուններից; ԱՆՎԱՆՈՄԸ ------------------------------ Ալան Քերի Թոմի տողերն ընտրված են:

Մեթոդ 3 4 -ից ՝ Dնջել բազմաթիվ կրկնօրինակներ

Deնջել կրկնօրինակ գրառումները Oracle քայլ 8 -ում
Deնջել կրկնօրինակ գրառումները Oracle քայլ 8 -ում

Քայլ 1. Ընտրեք RowID- ը, որը ցանկանում եք ջնջել:

«SQL» - ից հետո «enter» - ում ընտրեք rowid, անունը անուններից; »:

Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 9
Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 9

Քայլ 2. leteնջել կրկնօրինակը:

«SQL» - ից հետո «մուտքագրեք» անուններից ջնջեք a rowid> (ընտրեք min (rowid) անուններից b որտեղ b.name = a.name); " ջնջել կրկնօրինակ գրառումները:

Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 10
Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 10

Քայլ 3. Ստուգեք կրկնօրինակների առկայությունը:

Վերոնշյալն ավարտելուց հետո հրամանները ստուգում են ՝ արդյոք դեռ ունե՞ք կրկնօրինակ գրառումներ `մուտքագրելով" select rowid, name from names; " իսկ հետո «կատարել»:

SQL> ընտրել rowid, անուն անուններից; ROWID NAME ------------------ ---------------------------------- AABJnsAAGAAAdfOAAA Ալան AABJnsAAGAAAdfOAAB Ալան AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAdfOAAD Թոմ AABJnsAAGAAAdfOAAF Ալանի տողերն ընտրված են: SQL> ջնջել a անուններից a rowid> (ընտրել min (rowid) անուններից b որտեղ b.name = a.name); տողերը ջնջված են: SQL> ընտրել rowid, անուն անուններից; ROWID NAME ------------------------------------------------------ AABJnsAAGAAAdfOAAA Ալան AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Թոմի տողերն ընտրված են: SQL> պարտավորություն; Պարտավորությունն ավարտված է:

Մեթոդ 4 -ից 4 -ը. Սյունակներով տողեր ջնջելը

Deնջել կրկնօրինակ գրառումները Oracle քայլ 11 -ում
Deնջել կրկնօրինակ գրառումները Oracle քայլ 11 -ում

Քայլ 1. Ընտրեք ձեր տողերը:

«SQL» - ից հետո մուտքագրեք «անուններից ընտրեք *»; քո շարքերը տեսնելու համար:

Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 12
Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 12

Քայլ 2. leteնջել կրկնօրինակ տողերը `նշելով դրանց սյունակը:

«SQL» - ից հետո «մուտքագրեք» անուններից ջնջեք a rowid> (ընտրեք min (rowid) անուններից b որտեղ b.name = a.name և b.age = a.age); " ջնջել կրկնօրինակ գրառումները:

Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 13
Oracle- ում ջնջեք կրկնօրինակ գրառումները Քայլ 13

Քայլ 3. Ստուգեք կրկնօրինակների առկայությունը:

Վերոնշյալ քայլերն ավարտելուց հետո մուտքագրեք "ընտրեք * անուններից;" և այնուհետև «կատարել», որպեսզի ստուգեք, որ կրկնօրինակ գրառումները հաջողությամբ ջնջել եք:

SQL> ընտրեք * անուններից; ԱՆՎԱՆ ՏԱՐԻՔ ---------------------------------------------- Ալան 50 Քերի 51 Թոմ 52 Ալան 50 տողեր են ընտրված: SQL> ջնջել a անուններից a rowid> (ընտրել min (rowid) անուններից b որտեղ b.name = a.name և b.age = a.age); տողը ջնջված է: SQL> ընտրեք * անուններից; ԱՆՎԱՆ ՏԱՐԻՔ ---------------------------------------------- Ալան 50 Քերի 51 Թոմ 52 տող ընտրված. SQL> պարտավորություն; Պարտավորությունն ավարտված է:

Գուշացումներ

  • Ստեղծեք պահուստային աղյուսակ ձեր սեփական մուտքի մեջ, որը կարող եք օգտագործել ՝ ցույց տալու համար, թե ինչ կար այնտեղ, մինչև որևէ ջնջում տեղի ունենար (հարցերի դեպքում):

    SQL> ստեղծել աղյուսակ alan.names_backup որպես անուններից ընտրված *; Աղյուսակ ստեղծվեց:

Խորհուրդ ենք տալիս: