Saya mempunyai VIEWtempat untuk mencoba membuat skrip evolusi, sehingga saya dapat menambahkan kolom ke dalamnya. Bagian itu berfungsi dengan baik; kolom ditambahkan dengan baik. Namun, kebalikannya tidak bekerja; hapus kolom yang terakhir ditambahkan gagal dengan ERROR: cannot drop columns from viewpesan. Masalahnya adalah bahwa pandangan khusus ini memiliki banyak referensi, baik dari dan ke, oleh karena itu saya tidak bisa begitu DROP CASCADEsaja!
Apakah ada alasan mengapa saya tidak dapat menghapus kolom yang baru ditambahkan dari yang diberikan VIEW? Lalu, apa yang bisa saya lakukan untuk menyelesaikan tugas ini?
(Catatan: keadaannya, di sini, adalah apa adanya, tapi saya bisa melihat situasi yang sama, alias menjatuhkan kolom dari tampilan, dalam banyak kasus lain.)
CREATE OR REPLACE VIEWdengan def yang sama, kecuali kolom tambahan (karena tabel ref'ed memiliki kolom baru ditambahkan, jadi pandangan harus memasukkannya). "Devolution" menghapus kolom dari tabel yang ditolak, sehingga VIEWharus juga tidak mengembalikannya lagi.
ALTER VIEW ... ADD COLUMN. Apakah Anda menggunakanCREATE OR REPLACE VIEW? Tolong tunjukkan kode Anda .