У мене є VIEWде я намагаюся створити сценарій еволюції для, тому я можу додати до нього стовпець. Ця частина чудово працює; стовпчик додано просто чудово. Однак реверс не працює; видалити цей останній доданий стовпець не вдається з ERROR: cannot drop columns from viewповідомленням. Проблема полягає в тому, що цей конкретний погляд має багато посилань, як від, так і до, тому я не можу просто DROP CASCADEпроклята річ!
Чи є причина, чому я не можу видалити щойно доданий стовпець із заданої VIEW? Тоді, що я можу зробити для виконання цього завдання?
(Зауважте: тут обставини є такими, якими вони є, але я дуже добре бачу подібну ситуацію, яка також скидає стовпчик з подання, у багатьох інших випадках.)
CREATE OR REPLACE VIEWз тим самим def, за винятком додаткового стовпця (оскільки у оновленій таблиці додано новий стовпець, тому представлення має включати його). "Деволюція" видаляє стовпчик із оновленої таблиці, тому VIEWдоводиться також більше не повертати її.
ALTER VIEW ... ADD COLUMN. Ви використовуєтеCREATE OR REPLACE VIEW? Покажіть, будь ласка, свій код .