Unduh PDF
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.
Langkah
-
Identifikasi duplikat. Dalam contoh ini, kita mengidentifikasi duplikat "Alan". Pastikan catatan yang akan dihapus memang merupakan duplikat dengan memasukkan SQL di bawah.
-
Identifikasi dari kolom berjudul "Nama". Seandainya kolom memiliki judul "Nama", Anda perlu mengganti " column_name " dengan Nama.
-
Identifikasi dari kolom lainnya. 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
-
Pilih " name from names ". Setelah "SQL" (kependekan dari Standard Query Language ), masukkan " select name from names ".
-
Hapus semua baris dengan nama duplikat. 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] X Teliti sumber
-
Masukkan ulang baris tanpa duplikat. 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.
-
Lihat daftar baru. 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
-
Pilih RowID yang ingin dihapus. Setelah "SQL", masukkan " select rowid, name from names ;."
-
Hapus duplikat. Setelah "SQL", masukkan " delete from names a where rowid > (select min(rowid) from names b where b.name=a.name );" untuk menghapus duplikat. [2] X Teliti sumber
-
Periksa duplikat. 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
-
Pilih baris. Setelah "SQL", masukkan " select * from names ;" untuk dapat melihat baris.
-
Hapus baris duplikat dengan mengidentifikasi kolomnya. 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] X Teliti sumber
-
Cek duplikat. 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
Referensi
Tentang wikiHow ini
Halaman ini telah diakses sebanyak 5.035 kali.
Iklan