PDF download Unduh PDF PDF download Unduh PDF

Saat bekerja di Oracle, Anda dapat menemukan duplikat pada beberapa catatan. Anda bisa menghapus baris duplikat dengan mengidentifikasinya dan menggunakan RowID alias row address (alamat baris) terkait. Sebelum memulai, buatlah tabel cadangan seandainya membutuhkan referensi setelah catatan dihapus.

Metode 1
Metode 1 dari 4:

Mengidentifikasi Duplikat

PDF download Unduh PDF
  1. Dalam contoh ini, kita mengidentifikasi duplikat "Alan". Pastikan catatan yang akan dihapus memang merupakan duplikat dengan memasukkan SQL di bawah.
  2. Seandainya kolom memiliki judul "Nama", Anda perlu mengganti " column_name " dengan Nama.
  3. Jika Anda mencoba mengenali duplikat dari kolom yang berbeda, misalnya usia Alan alih-alih namanya, masukkan “Usia” menggantikan " column_name " dan seterusnya.
     select 
     column_name 
     , 
     count 
     ( 
     column_name 
     ) 
     from 
     table 
     group 
     by 
     column_name 
     having 
     count 
     ( 
     column_name 
     ) 
     > 
     1 
     ; 
    
    Iklan
Metode 2
Metode 2 dari 4:

Menghapus Duplikat Tunggal

PDF download Unduh PDF
  1. Setelah "SQL" (kependekan dari Standard Query Language ), masukkan " select name from names ".
  2. Setelah "SQL", masukkan " delete from names where name ='Alan';." Perlu dicatat bahwa huruf kapital penting di sini supaya langkah ini dapat menghapus semua baris bernama "Alan". Setelah "SQL", masukkan " commit " [1]
  3. Sekarang setelah Anda menghapus semua baris dan menggantinya dengan "Alan", isi satu kembali dengan memasukkan " insert into name values ('Alan');." Setelah "SQL", masukkan " commit " untuk membuat baris baru.
  4. Setelah menyelesaikan langkah di atas, Anda bisa melakukan pengecekan untuk memastikan tidak ada lagi catatan duplikat dengan memasukkan " select * from names ".
     SQL 
     > 
     select 
     name 
     from 
     names 
     ; 
     NAMA 
     
    Alan Citra Tomi Alan Baris dipilih . SQL > delete from names where name = 'Alan' ; Baris terhapus . SQL > commit ; \ Commit complete . SQL > insert into names values ( 'Alan' ); row created . SQL > commit ; Commit complete . SQL > select * from names ; NAMA
    Alan Citra Tomi rows selected .
    Iklan
Metode 3
Metode 3 dari 4:

Menghapus Beberapa Duplikat

PDF download Unduh PDF
  1. Setelah "SQL", masukkan " select rowid, name from names ;."
  2. Setelah "SQL", masukkan " delete from names a where rowid > (select min(rowid) from names b where b.name=a.name );" untuk menghapus duplikat. [2]
  3. Setelah menyelesaikan langkah di atas, periksa apakah masih ada duplikat dengan memasukkan " select rowid,name from names ;" lalu " commit ".
     SQL 
     > 
     select 
     rowid 
     , 
     name 
     from 
     names 
     ; 
     ROWID 
     NAME 
     ------------------ ------------------------------ 
     AABJnsAAGAAAdfOAAA 
     Alan 
     AABJnsAAGAAAdfOAAB 
     Alan 
     AABJnsAAGAAAdfOAAC 
     Carrie 
     AABJnsAAGAAAdfOAAD 
     Tom 
     AABJnsAAGAAAdfOAAF 
     Alan 
     rows 
     selected 
     . 
     SQL 
     > 
     delete 
     from 
     names 
     a 
     where 
     rowid 
     > 
     ( 
     select 
     min 
     ( 
     rowid 
     ) 
     from 
     names 
     b 
     where 
     b 
     . 
     name 
     = 
     a 
     . 
     name 
     ); 
     rows 
     deleted 
     . 
     SQL 
     > 
     select 
     rowid 
     , 
     name 
     from 
     names 
     ; 
     ROWID 
     NAME 
     ------------------ ------------------------------ 
     AABJnsAAGAAAdfOAAA 
     Alan 
     AABJnsAAGAAAdfOAAC 
     Carrie 
     AABJnsAAGAAAdfOAAD 
     Tom 
     rows 
     selected 
     . 
     SQL 
     > 
     commit 
     ; 
     Commit 
     complete 
     . 
    
    Iklan
Metode 4
Metode 4 dari 4:

Menghapus Baris dengan Kolom

PDF download Unduh PDF
  1. Setelah "SQL", masukkan " select * from names ;" untuk dapat melihat baris.
  2. Setelah "SQL'" masukkan " delete from names a where rowid > (select min(rowid) from names b where b.name=a.name and b.age=a.age );" untuk menghapus catatan duplikat. [3]
  3. Setelah Anda menyelesaikan langkah di atas, masukkan " select * from names ;" kemudian " commit " untuk memastikan apakah duplikat benar-benar sudah dihapus.
     SQL 
     > 
     select 
     * 
     from 
     names 
     ; 
     NAMA 
     USIA 
     ------------------------------ ---------- 
     Alan 
     50 
     Citra 
     51 
     Tomi 
     52 
     Alan 
     50 
     rows 
     selected 
     . 
     SQL 
     > 
     delete 
     from 
     names 
     a 
     where 
     rowid 
     > 
     ( 
     select 
     min 
     ( 
     rowid 
     ) 
     from 
     names 
     b 
     where 
     b 
     . 
     name 
     = 
     a 
     . 
     name 
     and 
     b 
     . 
     age 
     = 
     a 
     . 
     age 
     ); 
     row 
     deleted 
     . 
     SQL 
     > 
     select 
     * 
     from 
     names 
     ; 
     NAMA 
     USIA 
     ------------------------------ ---------- 
     Alan 
     50 
     Citra 
     51 
     Tomi 
     52 
     rows 
     selected 
     . 
     SQL 
     > 
     commit 
     ; 
     Commit 
     complete 
     . 
    
    Iklan

Peringatan

  • Buat tabel duplikat di log masuk Anda sehingga bisa digunakan sebagai referensi konten saat belum ada data yang dihapus (seandainya Anda memiliki pertanyaan).
     SQL 
     > 
     create 
     table 
     alan 
     . 
     names_backup 
     as 
     select 
     * 
     from 
     names 
     ; 
     Table 
     created 
     . 
    
Iklan

Tentang wikiHow ini

Halaman ini telah diakses sebanyak 4.978 kali.

Apakah artikel ini membantu Anda?

Iklan