Re: Cambio de tipo de dato.

From: Rene Romero Benavides <ichbinrene(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Cambio de tipo de dato.
Date: 2012-07-18 18:19:36
Message-ID: 1686781.uXlEqjoI8i@linux-id39.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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 <
>
> randradefonseca(at)gmail(dot)com> 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 <
> > cgrajales(at)colombiasoftware(dot)net> 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

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Eris Jose Gomez 2012-07-19 17:17:35 I would like to share a Hotmail calendar with you
Previous Message Cesar Erices 2012-07-18 14:00:08 Re: Problema al obtener la hora del Servidor postgresql