Cambio de nombre en una columna

13/09/2004 - 17:16 por David Juan Romero | Informe spam
Hola a todos,

Me gustaría saber si es posible cambiar el nombre de una columna de una
tabla, directamente con alguna instrucción en T-SQL (ALTER TABLE?).

Ahora mismo he de crear otra tabla con la nueva definición, volcar en
ella los datos, eliminar la Constraints de la tabla con la definición
'antigua', eliminar dicha tabla, renombrar la tabla con la nueva
definición y añadirle las constraints anteriores... un lio!

De momento no me ha dado problemas, pero no me acaba de gustar puesto
que implica volvar gran cantidad de registros entre ambas tablas.

Sé que en Oracle existe la instrucción ALTER TABLE table1 RENAME COLUMN
nom_col to nom_col_new... hay algo parecido en T-SQL.

Gracias a todos y un saludo,


David Juan Romero
Dpto. Técnico de Sistemas Informáticos (T.S.I.)


P.D.: llevo un tiempo leyendo vuestros comentarios, espero poder aportar
también parte de mi conocimiento... aunque sea poco! :-P

Preguntas similare

Leer las respuestas

#1 ulises
13/09/2004 - 17:34 | Informe spam
Revisa en el BOL el procedimiento sp_rename

Saludos,
Ulises

Hola a todos,

Me gustaría saber si es posible cambiar el nombre de una


columna de una
tabla, directamente con alguna instrucción en T-SQL


(ALTER TABLE?).

Ahora mismo he de crear otra tabla con la nueva


definición, volcar en
ella los datos, eliminar la Constraints de la tabla con


la definición
'antigua', eliminar dicha tabla, renombrar la tabla con


la nueva
definición y añadirle las constraints anteriores... un


lio!

De momento no me ha dado problemas, pero no me acaba de


gustar puesto
que implica volvar gran cantidad de registros entre ambas


tablas.

Sé que en Oracle existe la instrucción ALTER TABLE


table1 RENAME COLUMN
nom_col to nom_col_new... hay algo parecido en T-SQL.

Gracias a todos y un saludo,


David Juan Romero
Dpto. Técnico de Sistemas Informáticos (T.S.I.)


P.D.: llevo un tiempo leyendo vuestros comentarios,


espero poder aportar
también parte de mi conocimiento... aunque sea poco! :-P
.

Respuesta Responder a este mensaje
#2 Gustavo Larriera [MVP]
13/09/2004 - 17:35 | Informe spam
ALTER TABLE ... ALTER COLUMN

Tiene ciertos requerimientos, puedes leerlos en los Books Online (BOL) de tu
instalación SQL.

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"David Juan Romero" wrote in message
news:2Ri1d.2440629$
Hola a todos,

Me gustaría saber si es posible cambiar el nombre de una columna de una
tabla, directamente con alguna instrucción en T-SQL (ALTER TABLE?).

Ahora mismo he de crear otra tabla con la nueva definición, volcar en ella
los datos, eliminar la Constraints de la tabla con la definición
'antigua', eliminar dicha tabla, renombrar la tabla con la nueva
definición y añadirle las constraints anteriores... un lio!

De momento no me ha dado problemas, pero no me acaba de gustar puesto que
implica volvar gran cantidad de registros entre ambas tablas.

Sé que en Oracle existe la instrucción ALTER TABLE table1 RENAME COLUMN
nom_col to nom_col_new... hay algo parecido en T-SQL.

Gracias a todos y un saludo,


David Juan Romero
Dpto. Técnico de Sistemas Informáticos (T.S.I.)


P.D.: llevo un tiempo leyendo vuestros comentarios, espero poder aportar
también parte de mi conocimiento... aunque sea poco! :-P
Respuesta Responder a este mensaje
#3 David Juan Romero
13/09/2004 - 17:51 | Informe spam
Hola Gustavo,

He estado mirando el BOL y no he acabado de verlo... he encontrado esto:

ALTER TABLE table
{ [ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ]
[ COLLATE < collation_name > ]
[ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL }
]
}

Pero no veo que instrucción sirve para cambiar el nombre de la columna.
He encontrado también instrucciones para aladir o eliminar
restricciones... pero sigo sin ver lo del cambio de nombre. ¿Puedes
especificarme un poco más por favor?

Gracias por tu ayuda,


David Juan Romero
Dpto. Técnico de Sistemas Informáticos (T.S.I.)




Gustavo Larriera [MVP] escribió:
ALTER TABLE ... ALTER COLUMN

Tiene ciertos requerimientos, puedes leerlos en los Books Online (BOL) de tu
instalación SQL.

Respuesta Responder a este mensaje
#4 Maxi
13/09/2004 - 19:18 | Informe spam
Hola, aca va un ejemplo:

CREATE TABLE PEPE (ID INT, NOMBRE CHAR(50))
GO

EXEC SP_RENAME 'PEPE.NOMBRE','NOMB','COLUMN'


Suerte


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"David Juan Romero" escribió en el mensaje
news:2Ri1d.2440629$
Hola a todos,

Me gustaría saber si es posible cambiar el nombre de una columna de una
tabla, directamente con alguna instrucción en T-SQL (ALTER TABLE?).

Ahora mismo he de crear otra tabla con la nueva definición, volcar en
ella los datos, eliminar la Constraints de la tabla con la definición
'antigua', eliminar dicha tabla, renombrar la tabla con la nueva
definición y añadirle las constraints anteriores... un lio!

De momento no me ha dado problemas, pero no me acaba de gustar puesto
que implica volvar gran cantidad de registros entre ambas tablas.

Sé que en Oracle existe la instrucción ALTER TABLE table1 RENAME COLUMN
nom_col to nom_col_new... hay algo parecido en T-SQL.

Gracias a todos y un saludo,


David Juan Romero
Dpto. Técnico de Sistemas Informáticos (T.S.I.)


P.D.: llevo un tiempo leyendo vuestros comentarios, espero poder aportar
también parte de mi conocimiento... aunque sea poco! :-P





Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.748 / Virus Database: 500 - Release Date: 01/09/2004
Respuesta Responder a este mensaje
#5 Gustavo Larriera [MVP]
13/09/2004 - 19:23 | Informe spam
Mis sinceras disculpas por mi confusión, no lei correctamente que lo que
quieres es cambiar el nombre y dejar tal cual el resto. El ALTER COLUMN
sirve para cambiar el tipo de datos de la columna.

Deberás usar lo que bien sugiere Ulises, el sp_rename

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"David Juan Romero" wrote in message
news:Wlj1d.2440802$
Hola Gustavo,

He estado mirando el BOL y no he acabado de verlo... he encontrado esto:

ALTER TABLE table
{ [ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ]
[ COLLATE < collation_name > ]
[ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL }
]
}

Pero no veo que instrucción sirve para cambiar el nombre de la columna. He
encontrado también instrucciones para aladir o eliminar restricciones...
pero sigo sin ver lo del cambio de nombre. ¿Puedes especificarme un poco
más por favor?

Gracias por tu ayuda,


David Juan Romero
Dpto. Técnico de Sistemas Informáticos (T.S.I.)




Gustavo Larriera [MVP] escribió:
ALTER TABLE ... ALTER COLUMN

Tiene ciertos requerimientos, puedes leerlos en los Books Online (BOL) de
tu instalación SQL.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida