PostgreSQL no permite modificar una vista (es decir, agregar columnas, cambiar órdenes de columnas, agregar criterios, etc.) si tiene objetos dependientes. Esto es realmente conseguir molesto, ya que tiene que escribir un script para:Cómo ALTERAR una vista en PostgreSQL
- gota todos los objetos dependientes,
- alterar la visión,
- volver a crear todos los objetos dependientes de nuevo.
Entiendo que los desarrolladores de postgreSQL tienen preocupaciones muy razonables para evitar la alteración de las vistas. ¿Pero ustedes tienen algún guión/corte de corte para hacer todas esas cosas manuales en una sola carrera?
Agregar una columna es un problema cuando la vista tiene objetos dependientes. Prueba esto; CREATE TABLE uno ( col_a INT, col_b VARCHAR (2), col_c FECHA ); CREAR O REEMPLAZAR ver vw_one AS SELECCIONAR col_a, col_b DESDE uno; CREAR O REEMPLAZAR VISTA vw_two AS SELECCIONAR col_a, col_b FROM vw_one; CREAR O REEMPLAZAR VISTA vw_one AS SELECCIONAR col_a, col_b, col_c DESDE uno; ¿Me falta algo? – mevdiven
Funciona bien aquí, 9.0beta4. No tengo versiones anteriores en mi máquina de desarrollo, pero debería funcionar en 8.4 también. ¿Qué mensaje de error recibes? –
Es posible que hayan corregido la versión 9.0. Vi un par de solicitudes de corrección de errores en la comunidad postgreSQL. Aquí está el error que estoy recibiendo. ERROR: no se puede cambiar el número de columnas en la vista Estado del SQL: 42P16 – mevdiven