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

buat tabel dengan serikat pilih tidak memiliki kendala

Menggunakan select ... as ... untuk membuat tabel tidak pernah salinan kendala. Jika Anda ingin tabel baru mewarisi batasan dari tabel asli, Anda harus membuat batasan baru secara manual.

Seperti yang ditunjukkan @Davek, not null batasan akan disalin dari satu tabel select ... as ... . Saya membayangkan itu karena keduanya adalah atribut kolom dan batasan. Namun, begitu kolom memiliki lebih dari satu sumber, wajar jika Oracle tidak mencoba menerapkan batasan itu.

Menanggapi pertanyaan lanjutan "apakah mungkin memberikan tableC batasan yang sama baik dari tableA atau tableB , setelah CTA?":

Tentu saja itu mungkin, tetapi tidak ada perintah tunggal untuk melakukannya. Anda bisa menulis prosedur yang menggunakan SQL dinamis untuk menyalin batasan. Namun, kecuali jika Anda ingin mengotomatiskan perilaku ini, biasanya akan lebih mudah untuk mengekstrak DDL menggunakan IDE dan mengubah nama tabel.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Melewati array asosiatif sebagai parameter antar paket

  2. Cara mengonversi format angka dari kolom terhitung ke format waktu (jj:mm:dd), kueri sql

  3. Bisakah kita memperbarui nilai kunci utama dari sebuah tabel?

  4. Oracle sql:perbarui jika ada yang lain masukkan

  5. R12.2 Laporan Kesiapan Menambal Online