SQL - ADD COLUMN en una posicion x

 
Vista:

ADD COLUMN en una posicion x

Publicado por Pablo (10 intervenciones) el 16/12/2006 05:49:55
Hola tengo un problema, quiero saber si se puede insertar una columna en una posicion x con una instruccion ALTER COLUMN
Les doy un ejemplo para que me puedan entender:
Tengo una TablaX con los siguites campos:
colum1 | colum2 | colum3 | colum4

Quiero agregar un campo columX digamos en la posicion 3, de manera que pueda quedar asi:
colum1 | colum2 | columX | colum3 | colum4

He probado lo siguiente "ALTER TABLE TablaX ADD COLUMN columX varchar(30)", pero siempre la agrega la columna al final y nose como decirle en que posicion se debe insertar o nose si esto se pueda hacer ya que cuando lo hago por el diseñador no hay problema.

Por favor si me pudieran decir la forma correcta de hacerlo o como poder solucionar este problema.
Espero que me puedan ayudar y de antemano les doy las gracias por su interes.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ADD COLUMN en una posicion x

Publicado por Hubert (98 intervenciones) el 16/12/2006 16:15:48
Si es SQL Server, yo lo hice de una manera facil.

Desde el Administrador realiza todas mas modificaciones a la tabla (agrega campos, modifica indices, mueve del lugar, inserta uno nuevo).
Como mueves de lugar, haz click en el campo que quieres mover, una vez focalizado, hazle click y arratralo donde quieres

Cuando ya este como quieres. Dos botones al costado del boton grabar hay un boton con un "Disket mas chico con un report" (Guardar secuencia de comandos de cambios).

Presionando ese boton te abrira una ventana donde se encuantra todo el Script que quieres.

y si quieres probar que funciona copia ese Codigo, Deshace todo lo anterior y en el Analizador copia el codigo y corelo.

Saludos Navideños.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ADD COLUMN en una posicion x

Publicado por Isaías (5072 intervenciones) el 18/12/2006 21:06:33
Como dice Hubert lo puedes hacer, solo una aclaracion.

A SQL Server, le es indiferente la posicion en que coloques las columnas.

No se realmente cual sea tu necesidad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ADD COLUMN en una posicion x

Publicado por Pablo H. (10 intervenciones) el 19/12/2006 19:53:01
Gracias Hubert y Isaias me ayudo mucho su repuesta, bueno lo hacia por una cuestion de estetica ya que queria consultar las columnas en orden con solo un "select * from table" ya que las columnas son variables.

Quisiera saber si esa es la unica forma o si existen otras, xq el codigo se torna medio complicado cuando tengo que estar agregando y eliminando columnas varias veces sobre todo cuando crecen en cantidad.

Eh optado por mandar una variable con las columnas en orden algo asi
"exec ('select '+@columas+' from table)" lo cual soluciono mi proplema, pero de todas maneras me interasaria saber si existen otras formas para insertar una columna en una posicion x.

Gracias por su ayuda. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ADD COLUMN en una posicion x

Publicado por Isaías (5072 intervenciones) el 19/12/2006 21:25:30
Pablo

Es una solucion practica, la de enviar las columnas en un parametro, solo cambia el EXEC por:

DECLARE @SQLScript NVARCHAR(100)
SET @SQLScript = N'SELECT '+@columas+ ' FROM TUTABLA'
EXEC sp_executesql @SQLScript
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ADD COLUMN en una posicion x

Publicado por Pablo (10 intervenciones) el 25/12/2006 16:39:36
Gracias por tu ayuda Isaias, pero me podrias explicar cual es la diferencia porque con el exec ('select '+@columnas+' from MiTabla') tambien me resulta.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ADD COLUMN en una posicion x

Publicado por Isaías (5072 intervenciones) el 26/12/2006 20:29:00
La instruccion EXEC ('STRING'), ya no sera soportada para futuras versions de SQL SERVER.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar