У меня есть место, VIEWгде я пытаюсь создать скрипт развития, чтобы я мог добавить к нему столбец. Эта часть отлично работает; колонка добавлена просто отлично. Однако обратное не работает; удалить последний добавленный столбец не удастся с ERROR: cannot drop columns from viewсообщением. Проблема в том, что этот конкретный взгляд имеет много ссылок, как от, так и к, поэтому я не могу просто DROP CASCADEпроклясть!
Есть ли причина, по которой я не могу удалить недавно добавленный столбец из заданного VIEW? Тогда, что я могу сделать, чтобы выполнить эту задачу?
(Примечание: обстоятельства здесь такие, какие есть, но я очень хорошо вижу похожую ситуацию, во многих других случаях, например, отбрасывание столбца из представления.)
CREATE OR REPLACE VIEWс тем же значением def, за исключением дополнительного столбца (поскольку в таблицу ref'ed добавлен новый столбец, поэтому представление должно включать его). «Деволюция» удаляет столбец из таблицы ref'ed, поэтому VIEWон также не должен больше его возвращать.
ALTER VIEW ... ADD COLUMN. Вы используетеCREATE OR REPLACE VIEW? Покажите свой код, пожалуйста.