Mam miejsce, w VIEWktórym próbuję utworzyć skrypt ewolucji, więc mogę dodać do niego kolumnę. Ta część działa dobrze; kolumna dodana dobrze. Jednak odwrotna sytuacja nie działa; usuń ostatnią dodaną kolumnę z ERROR: cannot drop columns from viewkomunikatem. Problem polega na tym, że ten konkretny pogląd ma wiele odniesień, zarówno od, jak i do, dlatego nie mogę po prostu DROP CASCADEtego cholerstwa!
Czy istnieje powód, dla którego nie mogę usunąć nowo dodanej kolumny z danego VIEW? Co zatem mogę zrobić, aby wykonać to zadanie?
(Uwaga: okoliczności są tutaj takie, jakie są, ale bardzo dobrze widzę podobną sytuację, czyli w wielu przypadkach wypadanie kolumny z widoku).
CREATE OR REPLACE VIEWz tym samym def, z wyjątkiem dodatkowej kolumny (ponieważ w tabeli ref'ed dodano nową kolumnę, więc widok musi ją uwzględnić). W „decentralizacja” usuwa kolumnę z ref'ed tabeli, więc VIEWmusi też nie zwracać go już.
ALTER VIEW ... ADD COLUMN. UżywaszCREATE OR REPLACE VIEW? Pokaż proszę swój kod .