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

Mostrar la cita
columna de una
Mostrar la cita
(ALTER TABLE?).
Mostrar la cita
definición, volcar en
Mostrar la cita
la definición
Mostrar la cita
la nueva
Mostrar la cita
lio!
Mostrar la cita
gustar puesto
Mostrar la cita
tablas.
Mostrar la cita
table1 RENAME COLUMN
Mostrar la cita
espero poder aportar
Mostrar la cita
#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$
Mostrar la cita
#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ó:
Mostrar la cita
#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$
Mostrar la cita
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
#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$
Mostrar la cita
Ads by Google
Search Busqueda sugerida