Re: Como cambiar tipo de datos !!!

From: "Ivan Perales M(dot)" <ivan(dot)perales(at)gmail(dot)com>
To: Angelo Astorga <angeloastorga(at)gmail(dot)com>
Cc: lista postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Como cambiar tipo de datos !!!
Date: 2014-11-11 20:52:29
Message-ID: CAHMuS04m_reOj-xMcBSSoTnAnxiwoYwHULJPEEkoG8eC3-cvaw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Algunas cosas simplemente no se pueden, pero hay workarounds que se pueden
aplicar. Lo malo en tu caso es que se llevarian muchos pasos para obtener
el resultado logrado.

* Primero debes crear otro tipo con todos los valores requeridos y
obviamente otro nombre para el nuevo tipo.
* En las tablas donde aplique, crear una columna con el nuevo tipo y
actualizar ese valor dependiendo el valor de la columna original.
* Eliminas la columna original y renombras la nueva columna como la
original.

Si quieres que el nuevo tipo se llame igual que el anterior, repites todo
el proceso.

Saludos

2014-11-11 14:29 GMT-06:00 Angelo Astorga <angeloastorga(at)gmail(dot)com>:

> el tipo inicial se creo como:
> create type tipo_reserva as enum ('Pagina','Telefonica');
>
> y ahora necesito que también incluya al tipo_reserva la opción
> 'Smartphone'
>
> Ahora bien, cree un nuevo tipo con las 3 opciones, pero al modificar el
> campo con el nuevo tipo, me manda un error que no puede convertir un tipo
> en otro... alguna ayuda porfa.-
>
> saludos,
>
>
> El 11 de noviembre de 2014, 15:53, Jaime Casanova <jaime(at)2ndquadrant(dot)com>
> escribió:
>
>> 2014-11-11 11:49 GMT-05:00 Angelo Astorga <angeloastorga(at)gmail(dot)com>:
>> > Hola Lista,
>> > Tengo postgresql ver 8.4.7 con una tabla que posee un campo tipo
>> definido ya
>> > existente y necesito modificarlo, es decir, agregando 2 tipos
>> adicionales
>> > que soporte... alguna ayuda al respecto?
>> >
>> > Ejemplo:
>> > modo_reserva tipo_reserva not null default 'Pagina'::tipo_reserva,
>> >
>>
>> y que error te da? quizá lo que necesitas es agregar la clausula
>> USING. Además si tienes un valor default yo lo haría en dos partes.
>>
>> ALTER TABLE tabla ALTER modo_reserva DROP DEFAULT,
>> ALTER modo_reserva SET DATA TYPE
>> tipo_reserva
>> USING modo_reserva::tipo_reserva,
>> ALTER modo_reserva SET DEFAULT
>> 'Pagina'::tipo_reserva;
>>
>> > Necesito que además soporte los tipos 'Telefonica' y "Smartphone'...
>> estoy
>> > probando con alter type... y no logro modificar dicho campo
>> >
>>
>> ?
>>
>>
>> --
>> Jaime Casanova www.2ndQuadrant.com
>> Professional PostgreSQL: Soporte 24x7 y capacitación
>> Phone: +593 4 5107566 Cell: +593 987171157
>>
>
>

--
Lindolfo Iván Perales Mancinas
Solo existen 10 tipos de personas en el mundo, las que saben binario y las
que no.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo 2014-11-11 22:36:30 Re: Como cambiar tipo de datos !!!
Previous Message Angelo Astorga 2014-11-11 20:29:03 Re: Como cambiar tipo de datos !!!