Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Creación de scripts // SQL SERVER

Estas en el tema de Creación de scripts // SQL SERVER en el foro de Bases de Datos General en Foros del Web. Saludos foro, aqui estoy otra vez molestando con una dudilla... El problema es el siguiente...tengo una BD en la q necesito cambiar el tipo de ...
  #1 (permalink)  
Antiguo 13/05/2004, 17:05
 
Fecha de Ingreso: octubre-2003
Ubicación: Los Mochis, México.
Mensajes: 81
Antigüedad: 21 años, 1 mes
Puntos: 0
Creación de scripts // SQL SERVER

Saludos foro, aqui estoy otra vez molestando con una dudilla...
El problema es el siguiente...tengo una BD en la q necesito cambiar el tipo de dato en algunos campos
de char a varchar por lo q necesito hacer un script en primer lugar q recorra todas las tablas buscando
campos tipo char y cambiandolos por varchar, ahora bien, la informacion q contiene esos campos necesito
hacerle un trim (quitarle espacios), asi consecutivamente hasta terminar con todas las tablas y sus
respectivos campos char (posteriormente varchar)...

si alguien me puede dar una pista, no pido el script ya hecho, solo alguien q me oriente
por donde puedo empezar...y q tengo q hacer...

me pongo a su disposicion para lo q pueda servirles...

P.D. Espero haberme explicado bien....
__________________
Te amo flakita (jrk)
  #2 (permalink)  
Antiguo 13/05/2004, 19:26
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 22 años
Puntos: 1
Suponiendo que la tabla se llama Table1 y que contiene tres campos: NumeroRegistro, Nombre y Descripcion y que sea el campo Descripcion el que quieres pasar de Char a VarChar:
Código:
CREATE TABLE dbo.Tmp_Table1
	(
	NumeroRegistro int NOT NULL IDENTITY (1, 1),
	Nombre varchar(50) NOT NULL,
	Descripcion varchar(80) NOT NULL
	)  ON [PRIMARY]
GO
SET IDENTITY_INSERT dbo.Tmp_Table1 ON
GO
IF EXISTS(SELECT * FROM dbo.Table1)
	 EXEC('INSERT INTO dbo.Tmp_Table1 (NumeroRegistro, Nombre, Descripcion)
		SELECT NumeroRegistro, Nombre, RTrim(CONVERT(varchar(80), Descripcion)) FROM dbo.Table1 TABLOCKX')
GO
SET IDENTITY_INSERT dbo.Tmp_Table1 OFF
GO
DROP TABLE dbo.Table1
GO
EXECUTE sp_rename N'dbo.Tmp_Table1', N'Table1', 'OBJECT'
GO
Algo así es lo que te generaría el cambiar el tipo de un campo, sólo agregarías el RTrim para que te quitara los espacios de la derecha, y si quieres quitar también los de la izquierda usa el LTrim.
__________________
Ariel Avelar
  #3 (permalink)  
Antiguo 17/05/2004, 14:25
 
Fecha de Ingreso: octubre-2003
Ubicación: Los Mochis, México.
Mensajes: 81
Antigüedad: 21 años, 1 mes
Puntos: 0
muchas gracias avelar... me ha servido como referencia...
cualquier cosa que necesites aqui estoy en lo q pueda ayudarte...chau!!

* luigui r@y
__________________
Te amo flakita (jrk)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:59.