Cambiar tipo de dato de usuario

26/07/2007 - 19:06 por Pao | Informe spam
Hola a todos,
Estoy trabajando en SQLServer 2000.
Tengo un tipo de dato llamado nombre el cual es un varchar 20 y el mismo es
usado en 15 tablas.
pero necesito que ahora este tipo de dato ya no sea de 20 sino de 50, hay
forma de cambiar la definición del tipo de dato asi como el alter table
column o no puedo hacerlo tan fácil con un simple sp o comando??
Que se sugiere hacer en estos campos y/o que cosas se debe tener en cuenta?

Muchas Gracias por su gentil ayuda.

Preguntas similare

Leer las respuestas

#1 Isaias
26/07/2007 - 19:32 | Informe spam
Hola Pao

Es un mera suposicion, ya que nunca lo he hecho, si los tipos de datos se
almacenan en master..SYSTYPES, podrias ir directamente a esta tabla y cambiar
su longitud.

¿Sera?
Saludos
IIslas


"Pao" wrote:

Hola a todos,
Estoy trabajando en SQLServer 2000.
Tengo un tipo de dato llamado nombre el cual es un varchar 20 y el mismo es
usado en 15 tablas.
pero necesito que ahora este tipo de dato ya no sea de 20 sino de 50, hay
forma de cambiar la definición del tipo de dato asi como el alter table
column o no puedo hacerlo tan fácil con un simple sp o comando??
Que se sugiere hacer en estos campos y/o que cosas se debe tener en cuenta?

Muchas Gracias por su gentil ayuda.

Respuesta Responder a este mensaje
#2 Pao
26/07/2007 - 20:42 | Informe spam
Te cuento que puedes hacer el cambio en la systypes pero también habría que
considerar la syscolumns para cada tabla que tiene, porque de lo que veo si
te cambia la definición de tipo de dato cuando lo haces en la systypes pero
si hace un sp_help de la tabla vas ha ver que hace referencia al lentgh
anterior.

Sin embargo no sé si esto sea lo más recomendado hacer???

"Isaias" wrote:

Hola Pao

Es un mera suposicion, ya que nunca lo he hecho, si los tipos de datos se
almacenan en master..SYSTYPES, podrias ir directamente a esta tabla y cambiar
su longitud.

¿Sera?
Saludos
IIslas


"Pao" wrote:

> Hola a todos,
> Estoy trabajando en SQLServer 2000.
> Tengo un tipo de dato llamado nombre el cual es un varchar 20 y el mismo es
> usado en 15 tablas.
> pero necesito que ahora este tipo de dato ya no sea de 20 sino de 50, hay
> forma de cambiar la definición del tipo de dato asi como el alter table
> column o no puedo hacerlo tan fácil con un simple sp o comando??
> Que se sugiere hacer en estos campos y/o que cosas se debe tener en cuenta?
>
> Muchas Gracias por su gentil ayuda.
>
Respuesta Responder a este mensaje
#3 Gustavo Larriera (MVP)
26/07/2007 - 21:24 | Informe spam
Ejemplo de los Books Online:

The following example renames the Phone alias data type to Telephone.
USE AdventureWorks;
GO
EXEC sp_rename N'Phone', N'Telephone', N'USERDATATYPE';
GO

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.Larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Pao" wrote:

Hola a todos,
Estoy trabajando en SQLServer 2000.
Tengo un tipo de dato llamado nombre el cual es un varchar 20 y el mismo es
usado en 15 tablas.
pero necesito que ahora este tipo de dato ya no sea de 20 sino de 50, hay
forma de cambiar la definición del tipo de dato asi como el alter table
column o no puedo hacerlo tan fácil con un simple sp o comando??
Que se sugiere hacer en estos campos y/o que cosas se debe tener en cuenta?

Muchas Gracias por su gentil ayuda.

Respuesta Responder a este mensaje
#4 Gustavo Larriera (MVP)
26/07/2007 - 21:28 | Informe spam
Por favor ignorar mi post anterior, que responde a otra pregunta.

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.Larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Gustavo Larriera (MVP)" wrote:

Ejemplo de los Books Online:

The following example renames the Phone alias data type to Telephone.
USE AdventureWorks;
GO
EXEC sp_rename N'Phone', N'Telephone', N'USERDATATYPE';
GO

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.Larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Pao" wrote:

> Hola a todos,
> Estoy trabajando en SQLServer 2000.
> Tengo un tipo de dato llamado nombre el cual es un varchar 20 y el mismo es
> usado en 15 tablas.
> pero necesito que ahora este tipo de dato ya no sea de 20 sino de 50, hay
> forma de cambiar la definición del tipo de dato asi como el alter table
> column o no puedo hacerlo tan fácil con un simple sp o comando??
> Que se sugiere hacer en estos campos y/o que cosas se debe tener en cuenta?
>
> Muchas Gracias por su gentil ayuda.
>
Respuesta Responder a este mensaje
#5 Gustavo Larriera (MVP)
26/07/2007 - 21:38 | Informe spam
No hay una forma automática de modificar un tipo definido por el usuario. Una
forma posible propuesta por Narayana Vyas Kondreddi es:

1. Modificar todas las tablas que usan al tipo de datos, usando ALTER TABLE
ALTER COLUMN. Cambiar el tipo de datos a uno equivalente al tipo base.

2. Eliminar el tipo usando sp_droptype

3. Re-crear el tipo con su nuevo tipo base, usando sp_addtype

4. Volver a modificar las columnas usando ALTER TABLE ALTER COLUMN para que
referencien al nuevo tipo.


Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.Larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Pao" wrote:

Hola a todos,
Estoy trabajando en SQLServer 2000.
Tengo un tipo de dato llamado nombre el cual es un varchar 20 y el mismo es
usado en 15 tablas.
pero necesito que ahora este tipo de dato ya no sea de 20 sino de 50, hay
forma de cambiar la definición del tipo de dato asi como el alter table
column o no puedo hacerlo tan fácil con un simple sp o comando??
Que se sugiere hacer en estos campos y/o que cosas se debe tener en cuenta?

Muchas Gracias por su gentil ayuda.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida