SQL Server - Insertar campo en posición deseada.

 
Vista:

Insertar campo en posición deseada.

Publicado por Gerardo (1 intervención) el 12/04/2010 16:20:41
Cómo debe hacer para insertar inserte una columna en una posición determinada, esto es:

Creo la labla:

CREATE TABLE Prueba
(
Campo1 nvarchar(5) PRIMARY KEY,
Campo2 nvarchar(35) NOT NULL,
Campo3 nvarchar(50),
Campo4 nvarchar(25)
)

Después de haber agregado información, debo introducir un campo requerido, que por cierto orden, no deseo que se introduzca al final de la tabla sino en alguna posición intermedia de los campos.

Agrego campo CampoX

ALTER TABLE Prueba
ADD CampoX nvarchar(33) NOT NULL

Quedando la estructura así:

Campo1 nvarchar(5) PRIMARY KEY,
Campo2 nvarchar(35) NOT NULL,
Campo3 nvarchar(50),
Campo4 nvarchar(25)
CampoX nvarchar(33) NOT NULL -- Campo agregado

Pero quiciera quedara así:

Campo1 nvarchar(5) PRIMARY KEY,
Campo2 nvarchar(35) NOT NULL,
CampoX nvarchar(33) NOT NULL -- Campo agregado
Campo3 nvarchar(50),
Campo4 nvarchar(25)

Por favor, requiero respuestas que tengan certeza.

Gracias de antemano.
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:Insertar campo en posición deseada.

Publicado por Isaias (4558 intervenciones) el 12/04/2010 17:06:47
SQL Server, como muchos otros motores de bases de datos, no maneja el "posicionamiento" de sus campos o columnas, por tanto, para "ordenar" tus columnas, no te queda otra que crear una nueva tabla con las columnas en el orden que tu las quieres y pasar los datos de la tabla anterior a al nueva, haces drop de la anterior y rename a la nueva.

Si lo haces de forma grafica, puedes abrir tu editor de tabla, te colocas en la columna deseada, presionas la tecla INS e insertas tu nueva columna.

Al final te daras cuenta que SQL Server hace, exactamente lo que te dije en un inicio.
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

Insertar campo en posición deseada.

Publicado por Edith Jiménez (1 intervención) el 21/04/2015 01:32:47
Hola, esta pregunta ya tiene tiempo que fue hecha y no se puso una solución....

Solo quiero hacer el comentario que en mi caso uso DB2 y de la siguiente manera le indicas antes de que campo quieres insertar el nuevo

Tomado como ejemplo el tuyo seria:
ALTER TABLE Prueba
ADD CampoX nvarchar(33) NOT NULL BEFORE Campo3


Espero que les sea de utilidad

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

Insertar campo en posición deseada.

Publicado por Luis Solis (1 intervención) el 12/02/2016 16:20:59
Se tiene que crear una nueva Tabla, ya que por seguridad de los datos SQL server no te deja cambiar posiciones de tu columnas añadidas, y el COMANDO "BEFORE", no funciona en SQL Server para este tipo de actividades. 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