Oracle– ში დუბლიკატი ჩანაწერების წაშლის 4 გზა

Სარჩევი:

Oracle– ში დუბლიკატი ჩანაწერების წაშლის 4 გზა
Oracle– ში დუბლიკატი ჩანაწერების წაშლის 4 გზა

ვიდეო: Oracle– ში დუბლიკატი ჩანაწერების წაშლის 4 გზა

ვიდეო: Oracle– ში დუბლიკატი ჩანაწერების წაშლის 4 გზა
ვიდეო: How to Get Microsoft Office for Free 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" - ის შემდეგ (შემოკლებით სტანდარტული შეკითხვის ენა), შეიყვანეთ "აირჩიეთ სახელი სახელებიდან".

წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 5
წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 5

ნაბიჯი 2. წაშალეთ ყველა სტრიქონი დუბლიკატი სახელებით

"SQL" - ის შემდეგ შეიყვანეთ "წაშალეთ სახელებიდან, სადაც სახელი =" ალანი ";." უნდა აღინიშნოს, რომ აქ კაპიტალიზაცია მნიშვნელოვანია ისე, რომ ამ ნაბიჯმა შეძლოს წაშალოს ყველა ხაზი სახელწოდებით "ალანი". "SQL" - ის შემდეგ შეიყვანეთ "commit"

წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 6
წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 6

ნაბიჯი 3. ხელახლა შეიყვანეთ რიგები დუბლიკატების გარეშე

ახლა, როდესაც თქვენ წაშალეთ ყველა სტრიქონი და ჩაანაცვლეთ ისინი "ალანით", შეავსეთ ერთი ისევ "ჩასვით სახელის მნიშვნელობებში (" ალანი ")." "SQL" - ის შემდეგ შეიყვანეთ "commit" ახალი ხაზის შესაქმნელად.

წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 7
წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 7

ნაბიჯი 4. იხილეთ ახალი სია

ზემოაღნიშნული ნაბიჯების დასრულების შემდეგ, შეგიძლიათ შეამოწმოთ რომ დარწმუნდეთ, რომ აღარ არსებობს დუბლიკატი ჩანაწერით "აირჩიეთ * სახელებიდან".

SQL> აირჩიეთ სახელებიდან სახელი; სახელი ------------------------------ ალან ციტრა ტომი ალან ბარის არჩეული. SQL> წაშლა სახელებიდან, სადაც name = 'ალანი'; ხაზი წაშლილია. SQL> ვალდებულებები; / ვალდებულება დასრულებულია. SQL> ჩასვით სახელების მნიშვნელობები ('ალანი'); რიგი შეიქმნა. SQL> ვალდებულებები; ვალდებულება დასრულებულია. SQL> აირჩიეთ * სახელებიდან; სახელი ------------------------------ ალან ციტრა ტომის რიგები არჩეულია.

მეთოდი 3 დან 4: მრავალი დუბლიკატის ამოღება

წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 8
წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 8

ნაბიჯი 1. აირჩიეთ RowID, რომლის წაშლაც გსურთ

"SQL" - ის შემდეგ შეიყვანეთ "აირჩიეთ rowid, name from names;."

წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 9
წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 9

ნაბიჯი 2. წაშალეთ დუბლიკატი

"SQL" - ის შემდეგ შეიყვანეთ "წაშალეთ სახელებიდან a rowid> (აირჩიეთ min (rowid) იმ სახელებიდან b სადაც b.name = a.name);" დუბლიკატების ამოღება.

წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 10
წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 10

ნაბიჯი 3. შეამოწმეთ დუბლიკატი

ზემოაღნიშნული ნაბიჯების დასრულების შემდეგ, შეამოწმეთ დუბლიკატები "აირჩიეთ rowid, name from names;" შემდეგ "ჩაიდინე".

SQL> აირჩიეთ rowid, სახელი სახელებიდან; სწორი სახელი ------------------------------------------------------ AABJnsAAGAAAdfOAAA ალან AABJnsAAGAAAdfOAAB ალან AABJnsAAGAAAdfOAAC კერი AABJnsAAGAAdfOAAD ტომ AABJnsAAGAAdfOAAF ალანის რიგები არჩეულია. SQL> სახელებიდან წაშლა a rowid> (აირჩიეთ min (rowid) იმ სახელებიდან b სადაც b.name = a.name); რიგები წაიშალა. SQL> აირჩიეთ rowid, სახელი სახელებიდან; ROWID სახელი ------------------------------------------------------ AABJnsAAGAAAdfOAAA ალან AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD ტომ რიგები არჩეულია. SQL> ვალდებულებები; ვალდებულება დასრულებულია.

მეთოდი 4 -დან 4: მწკრივების წაშლა სვეტების მიხედვით

წაშალეთ დუბლიკატი ჩანაწერები Oracle– ში ნაბიჯი 11
წაშალეთ დუბლიკატი ჩანაწერები 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 ციტრა 51 ტომი 52 ალანი 50 რიგები არჩეულია. SQL> სახელებიდან წაშლა a rowid> (აირჩიეთ min (rowid) სახელებიდან b სადაც b.name = a.name და b.age = a.age); მწკრივი წაიშალა. SQL> აირჩიეთ * სახელებიდან; დასახელება ასაკი ---------------------------------------------- ალანი 50 ციტრა 51 ტომი არჩეული 52 სტრიქონი რა SQL> ვალდებულებები; ვალდებულება დასრულებულია.

გაფრთხილება

  • შექმენით დუბლიკატი ცხრილი თქვენს შესვლაში ისე, რომ ის შეიძლება გამოყენებულ იქნას როგორც შინაარსის მითითება, როდესაც მონაცემები არ არის წაშლილი (თუ თქვენ გაქვთ რაიმე შეკითხვა).

    SQL> შექმენით ცხრილი alan.names_backup როგორც აირჩიეთ * სახელებიდან; მაგიდა შეიქმნა.

გირჩევთ: