Saya mempunyai VIEW
tempat 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 view
pesan. Masalahnya adalah bahwa pandangan khusus ini memiliki banyak referensi, baik dari dan ke, oleh karena itu saya tidak bisa begitu DROP CASCADE
saja!
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 VIEW
dengan 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 VIEW
harus juga tidak mengembalikannya lagi.
ALTER VIEW ... ADD COLUMN
. Apakah Anda menggunakanCREATE OR REPLACE VIEW
? Tolong tunjukkan kode Anda .