PostgreSQL non consente di alterare una vista (ad esempio aggiungendo colonne, cambiando ordini di colonne, aggiungendo criteri ecc.) Se ha oggetti dipendenti. Questo è davvero sempre fastidioso perché si deve scrivere uno script per:Come ALTERare una vista in PostgreSQL
- goccia tutti gli oggetti dipendenti,
- alterare la vista,
- ricreare tutte le oggetti dipendenti di nuovo.
Capisco che gli sviluppatori di PostgreSQL abbiano preoccupazioni molto ragionevoli per impedire la modifica delle visualizzazioni. Ma voi ragazzi avete qualche script/shot-cut per fare tutte quelle cose manuali in una sola volta?
L'aggiunta di una colonna è un problema quando la vista ha oggetti dipendenti. Prova questo; CREATE TABLE uno ( col_a INT, col_b VARCHAR (2), col_c DATA ); CREARE O SOSTITUIRE visualizzazione vw_one AS SELECT col_a, col_b DA uno; CREARE O SOSTITUIRE VISTA vw_two AS SELECT col_a, col_b FROM vw_one; CREARE O SOSTITUIRE VISTA vw_one AS SELECT col_a, col_b, col_c DA uno; Mi manca qualcosa? – mevdiven
Funziona bene qui, 9.0beta4. Non ho versioni precedenti nella mia macchina di sviluppo, ma dovrebbe funzionare anche in 8.4. Che messaggio di errore ricevi? –
Potrebbe aver risolto la versione 9.0. Ho visto un paio di richieste di correzioni di bug nella comunità di PostgreSQL. Ecco l'errore che sto ottenendo. ERRORE: impossibile modificare il numero di colonne in vista Stato SQL: 42P16 – mevdiven