From: | Lisibeth Troconis <lisibeth(dot)troconis(at)gmail(dot)com> |
---|---|
To: | postgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Consulta sobre modificación de tipo en un campo |
Date: | 2011-09-22 13:46:04 |
Message-ID: | CACpT28w3GRuOyggHcuRf0qo0EKHpAHRF7y3KRv9jnonucjE5Og@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Saludos!
Necesito por favor saber si puedo cambiar un tipo de dato character
varchar(50) a bigint sin perder los datos que tengo
ALTER TABLE mensajes ALTER COLUMN prefijo TYPE bigint
Poniéndolos en contexto tengo una tabla mensaje que guarda un
número telefónico formato internacional ejemplo 58261xxxxxxx , por razones
que siempre pasa al momento de diseñar la base de datos no se pensó que
en algún momento se quisiera realizar la consulta sobre esta tabla, sobre el
prefijo, osea no interesa el número completo, realizar esta consulta sobre
la tabla resulta muy costosa, pues posee demasiados registros, la opción que
pensamos fue crear un campo adicional y realizar el siguiente query
update mensaje set prefijo=
(select num from Prefijo where mensaje.dest like num || '%' limit 1)
where mensaje.id in (
select m.id from mensaje m where m.refproveedor is not null and m.prefijo is
null
limit 5000
)
se realizo el cambio en un script por segmentos de 5000 mil registros cada
vez
pero pequeño detalle, al agregar la columna la agregamos como character
varchar(50) pues parecía lo lógico ya que en la tabla mensaje el numero se
almacena en un character varchar(255), pero resulta que tenemos otra tabla
donde se tienen los prefijos y en esta tabla el prefijo es un bitint
bueno el punto es que por los momentos quiero convertir este campo, para
luego hacer el indice y realizar comparaciones contra esta otra tabla sin
tener muchos líos
La pregunta en concreto es esa, como realizar el cambio sin perder los
datos, y cualquier otro aporte que me de luz al respecto de lo que deseo
hacer
muchas gracias! espero respuestas =)
--
Lisibeth Troconis
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Misael Peña Montero | 2011-09-22 13:52:27 | Re: Consulta sobre modificación de tipo en un campo |
Previous Message | Sergio Valdes Hurtado | 2011-09-22 12:33:42 | Re: Rendimiento Query |