On Thursday 12 July 2012 18:08:07 Carlos Edward Grajales Marmolejo wrote:
> mmmm,
> Estoy ejecutando el siguiente ALTER
> ALTER TABLE tb_cliente
>    ALTER COLUMN cliente_documento  TYPE character varying(15);
> 
> y me arroja el siguiente error
> 
> ERROR:  cannot alter type of a column used by a view or rule
> DETAIL:  rule _RETURN on view vw_planoalianza depends on column
> "cliente_documento"
> 
> El tema es que hay como unas 20 vistas que dependen de ese campo.
> La solucion que he encontrado es borrar las 20 vistas, hacer el cambio y
> volver a crear las vistas.
> 
> La pregunta es, existe un metodo diferente???
> 
> 
> 
> El 12 de julio de 2012 17:26, Roberto Andrade Fonseca <
> 
> [email protected]> escribió:
> > Hola:
> > 
> > Cambiar de varchar(10) a varchar(15) no tiene mayor problema.
> > 
> > PostgreSQL NO maneja vistas materializadas (cómo Oracle), así que no
> > debes cambiar nada a tus vistas, a menos que hables de algo más
> > complejo.
> > 
> > Saludos.
> > 
> > El 12 de julio de 2012 17:02, Carlos Edward Grajales Marmolejo <
> > [email protected]> escribió:
> > 
> > Buenas tardes. Alguien podria ayudarme con una duda que tengo.
> > 
> >> Quiere cambiar el tipo de dato de un campo en una tabla (pasar de
> >> varchar (10) a varchar(15)), pero dicho campo esta referenciado en
> >> varias vistas. Existe la posibilidad de hacer el cambio sin tener que
> >> recrear las vistas???
> >> 
> >> 
> >> 
> >> --
> >> ------------------------------------------------------------------
> >> 
> >> 
> >> 
> >> Cordialmente,
> >> 
> >> *Carlos Edward Grajales*
> >> Colombia Software Ltda.
> >> Calle 18 N No. 3N-24 Ofc.902
> >> Cali - Colombia
> >> www.colombiasoftware.net
> >> Cel. 313 765 0594
> >> Tel: (2) 489 79 40
> > 
> > --
> > Roberto Andrade Fonseca
> > -- 
Afortunadamente con postgresql siempre podemos meternos a las entrañas para 
tratar de darle la vuelta a algún problema.
Prueba con lo siguiente:

UPDATE pg_attribute SET atttypmod = 15+4
WHERE attrelid = 'tb_cliente'::regclass
AND attname = 'cliente_documento';

You can find me on twitter @iCodeiExist
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a