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

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

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

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

Video: Oracle- ում կրկնօրինակ գրառումները ջնջելու 4 եղանակ
Video: Ինչպես ձեռք բերել Microsoft Office ծրագիրը անվճար// Erik Ustyan 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. leteնջել կրկնվող անուններով բոլոր տողերը:

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

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

Քայլ 3. Մուտքագրեք տողեր առանց կրկնօրինակների:

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

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

Քայլ 4. Դիտեք նոր ցուցակը:

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

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

Մեթոդ 3 4 -ից. Բազմաթիվ կրկնօրինակների հեռացում

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

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

«SQL» - ից հետո մուտքագրեք «select rowid, name from names;.»

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

Քայլ 2. Հեռացրեք կրկնօրինակները:

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

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

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

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

SQL> ընտրել rowid, անուն անուններից; ROWID NAME ------------------------------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAdfOAAD Tom 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. Հեռացրեք կրկնվող տողերը `նույնացնելով դրանց սյուները:

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

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

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

Վերոնշյալ քայլերն ավարտելուց հետո մուտքագրեք «ընտրեք * անուններից;» ապա «պարտավորվել» տեսնել ՝ արդյոք կրկնօրինակներն իրականում հանվե՞լ են:

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

Գուշացում

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

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

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