4 Cara Menghapus Rekod Pendua di Oracle

Isi kandungan:

4 Cara Menghapus Rekod Pendua di Oracle
4 Cara Menghapus Rekod Pendua di Oracle

Video: 4 Cara Menghapus Rekod Pendua di Oracle

Video: 4 Cara Menghapus Rekod Pendua di Oracle
Video: 3 CARA MENYIMPAN GAMBAR DI POWER POINT | CARA KEDUA JARANG DIKETAHUI 2024, Mungkin
Anonim

Semasa bekerja di Oracle, anda mungkin mendapati beberapa rekod anda mempunyai pendua. Anda boleh menghapus baris pendua ini dengan mengenal pasti dan menggunakan RowID, atau alamat barisnya. Sebelum memulakan, anda harus membuat jadual sandaran sekiranya anda perlu merujuknya setelah anda memadam rekod.

Langkah-langkah

Kaedah 1 dari 4: Mengenal pasti Pendua Anda

Padam Rekod Pendua di Oracle Langkah 1
Padam Rekod Pendua di Oracle Langkah 1

Langkah 1. Kenal pasti pendua

Dalam kes ini, kenal pasti contoh pendua, "Alan." Pastikan bahawa rekod yang anda cuba hapuskan sebenarnya adalah pendua dengan memasukkan SQL di bawah.

Padam Rekod Pendua di Oracle Langkah 2
Padam Rekod Pendua di Oracle Langkah 2

Langkah 2. Mengenal pasti dari lajur bernama "Nama

"Sebagai contoh lajur bernama" Nama, "anda akan mengganti" column_name "dengan Nama.

Padam Rekod Pendua di Oracle Langkah 3
Padam Rekod Pendua di Oracle Langkah 3

Langkah 3. Mengenal pasti dari lajur lain

Sekiranya anda cuba mengenal pasti pendua dengan lajur yang berbeza, misalnya usia Alan dan bukan namanya, anda akan memasukkan "Umur" di tempat "nama_nama" dan seterusnya.

pilih kolom_nama, hitung (kolom_nama) dari kumpulan jadual dengan kolum_nama mempunyai kiraan (nama_nama lajur)> 1;

Kaedah 2 dari 4: Menghapus Pendua Tunggal

Padam Rekod Pendua di Oracle Langkah 4
Padam Rekod Pendua di Oracle Langkah 4

Langkah 1. Pilih "nama dari nama

"Selepas" SQL, "singkatan dari Standard Query Language, masukkan" pilih nama dari nama."

Padam Rekod Pendua di Oracle Langkah 5
Padam Rekod Pendua di Oracle Langkah 5

Langkah 2. Padamkan semua baris dengan nama pendua

Selepas "SQL," masukkan "hapus dari nama di mana nama = 'Alan';." Perhatikan bahawa penggunaan huruf besar penting di sini, jadi ini akan menghapus semua baris bernama "Alan." Selepas "SQL," masukkan "komit."

Padam Rekod Pendua di Oracle Langkah 6
Padam Rekod Pendua di Oracle Langkah 6

Langkah 3. Sewa baris tanpa pendua

Sekarang setelah anda memadamkan semua baris dengan nama contoh "Alan," anda boleh memasukkan satu belakang dengan memasukkan "masukkan ke dalam nilai nama ('Alan');." Selepas "SQL," masukkan "komit" untuk membuat baris baru anda.

Padam Rekod Pendua di Oracle Langkah 7
Padam Rekod Pendua di Oracle Langkah 7

Langkah 4. Lihat senarai baru anda

Setelah anda menyelesaikan langkah-langkah di atas, anda boleh memeriksa untuk memastikan anda tidak lagi mempunyai catatan pendua dengan memasukkan "select * from names."

SQL> pilih nama dari nama; NAMA ------------------------------ Alan Carrie Tom Alan baris dipilih. SQL> hapus dari nama di mana nama = 'Alan'; baris dipadamkan. SQL> komit; Komitmen selesai. SQL> masukkan ke dalam nilai nama ('Alan'); baris dibuat. SQL> komit; Komitmen selesai. SQL> pilih * dari nama; NAMA ------------------------------ Alan Carrie Tom baris dipilih.

Kaedah 3 dari 4: Menghapus Pendua Berganda

Padam Rekod Pendua di Oracle Langkah 8
Padam Rekod Pendua di Oracle Langkah 8

Langkah 1. Pilih RowID yang ingin anda padamkan

Selepas "SQL," masukkan "pilih rowid, nama dari nama;."

Padam Rekod Pendua di Oracle Langkah 9
Padam Rekod Pendua di Oracle Langkah 9

Langkah 2. Padamkan pendua

Selepas "SQL," masukkan "hapus dari nama a di mana rowid> (pilih min (rowid) dari nama b di mana b.name = a.name);" untuk memadam rekod pendua.

Padam Rekod Pendua di Oracle Langkah 10
Padam Rekod Pendua di Oracle Langkah 10

Langkah 3. Periksa pendua

Setelah anda menyelesaikan perkara di atas, perintah memeriksa untuk melihat apakah anda masih mempunyai catatan pendua dengan memasukkan "pilih rowid, name from names;" dan kemudian "komited."

SQL> pilih rowid, nama dari nama; NAMA ROWID ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Baris Alan dipilih. SQL> hapus dari nama a di mana rowid> (pilih min (rowid) dari nama b di mana b.name = a.name); baris dipadamkan. SQL> pilih rowid, nama dari nama; NAMA ROWID ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Baris Tom dipilih. SQL> komit; Komitmen selesai.

Kaedah 4 dari 4: Menghapus Baris dengan Lajur

Padam Rekod Pendua di Oracle Langkah 11
Padam Rekod Pendua di Oracle Langkah 11

Langkah 1. Pilih baris anda

Selepas "SQL," masukkan "pilih * dari nama;" untuk melihat barisan anda.

Padam Rekod Pendua di Oracle Langkah 12
Padam Rekod Pendua di Oracle Langkah 12

Langkah 2. Padamkan baris pendua dengan mengenal pasti lajurnya

Selepas "SQL '" masukkan "hapus dari nama a di mana rowid> (pilih min (rowid) dari nama b di mana b.name = a.name dan b.age = a.age);" untuk memadam catatan pendua.

Padam Rekod Pendua di Oracle Langkah 13
Padam Rekod Pendua di Oracle Langkah 13

Langkah 3. Periksa pendua

Setelah anda menyelesaikan langkah-langkah di atas, masukkan "pilih * dari nama;" dan kemudian "komit" untuk memastikan bahawa anda berjaya memadam rekod pendua.

SQL> pilih * dari nama; NAMA UMUR ------------------------------ ---------- Alan 50 Carrie 51 Tom 52 Alan 50 baris dipilih. SQL> hapus dari nama a di mana rowid> (pilih min (rowid) dari nama b di mana b.name = a.name dan b.age = a.age); baris dipadamkan. SQL> pilih * dari nama; NAMA UMUR ------------------------------ ---------- Alan 50 Carrie 51 Tom 52 baris dipilih. SQL> komit; Komitmen selesai.

Amaran

  • Buat jadual sandaran dalam log masuk anda sendiri yang boleh anda gunakan untuk menunjukkan apa yang ada sebelum penghapusan berlaku (sekiranya ada pertanyaan).

    SQL> buat jadual alan.names_backup sebagai pilih * dari nama; Jadual dibuat.

Disyorkan: