Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

mendapatkan kesalahan ORA-00907 saat membuat tabel di pengembang sql

Saya berasumsi Anda mencoba memastikan bahwa Book catatan diperbarui setiap kali Anda mengubah Pname kolom di Publisher tabel, tetapi Oracle tidak memiliki on update cascade .

Lihat di sini untuk diagram sintaks references klausa.

Untuk mengubah kunci utama di Oracle, Anda memiliki beberapa opsi:

  • Tunda batasan (kunci asing) centang hingga komit, lalu perbarui induk dan anak dalam transaksi.

  • Buat baru induk dengan detail yang diperbarui lalu ubah semua anak, lalu hapus induk asli. Semua dalam satu transaksi tentunya.

  • Berhenti menggunakan data yang bisa berubah sebagai kunci. Butuh waktu lama bagi DBA untuk meyakinkan saya bahwa kunci buatan (pengganti) harus digunakan daripada data yang sebenarnya, tetapi ini adalah kasus penggunaan yang akhirnya memenangkan saya. Menggunakan kunci buatan (yang tidak pernah berubah) berarti masalah ini akan hilang sama sekali.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pernyataan Pembaruan Oracle dengan Inner Join

  2. Fungsi REPEAT setara di Oracle

  3. prosedur pembuatan oracle sql untuk menunjukkan peringkat mingguan

  4. Oracle SQL - Kueri 2 tabel berdasarkan kunci asingnya

  5. Oracle CONNECT OLEH anak rekursif ke permintaan orang tua, termasuk orang tua utama yang merujuk sendiri