SQL Server - Cómo borrar ciertas columnas de una tabla sql server

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 5 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Cómo borrar ciertas columnas de una tabla sql server

Publicado por Elizabeth X (3 intervenciones) el 07/06/2018 16:15:44
Quisiera saber cómo puedo borrar todas las columnas de una tabla a excepción de tres
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

Cómo borrar ciertas columnas de una tabla sql server

Publicado por Isaias (4558 intervenciones) el 07/06/2018 16:25:53
Con la siguiente instruccion


1
2
3
USE TuBase;
GO
ALTER TABLE TuTabla DROP COLUMN tucolumna ;
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
sin imagen de perfil
Val: 6
Ha aumentado su posición en 5 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Cómo borrar ciertas columnas de una tabla sql server

Publicado por Elizabeth X (3 intervenciones) el 07/06/2018 16:47:19
Pero eso borra columna por columna no?
Es que tengo varias tablas creadas con anterioridad, pero ahora ya no las ocupo y quisiera borrarlas y dejar solo 3, son como más de 80 columnas y borrar una por una me tardaría mucho, por eso quería saber si se pueden borrar todas exento algunas.
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
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

Cómo borrar ciertas columnas de una tabla sql server

Publicado por Isaias (4558 intervenciones) el 07/06/2018 22:51:47
Pues hay que ponerle un poco de imaginacion

1
2
3
4
5
6
7
8
9
10
11
12
-- En mi bases de datos, investigo que OBJECT_ID tiene mi tabla
-- para este ejemplo ProductCategory
SELECT * FROM SYS.TABLES WHERE name = 'ProductCategory'
-- Como ya vi que tiene el OBJECT_ID = 66099276
 
SELECT 'ALTER TABLE ' + QUOTENAME(s.name) + '.' + QUOTENAME(t.name) + '
    DROP COLUMN ' + QUOTENAME(c.name) + ';'
FROM sys.tables t
    INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
    INNER JOIN sys.columns c ON t.object_id = c.object_id
WHERE c.OBJECT_ID = 66099276
-- Ejecuto solo el script de aquellas columnas que deseo eliminar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 5 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Cómo borrar ciertas columnas de una tabla sql server

Publicado por Elizabeth (3 intervenciones) el 08/06/2018 18:19:10
Gracias, ya lo pude arreglar.
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
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

Cómo borrar ciertas columnas de una tabla sql server

Publicado por Isaias (4558 intervenciones) el 08/06/2018 20:12:51
De nada, 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

Cómo borrar ciertas columnas de una tabla sql server

Publicado por Marcela Carrizo (1 intervención) el 28/10/2019 17:53:44
Hola Isaias!!! genial tu respuesta, pero la quise hacer, y mi tabla es la MOVI_MAT, y cuando quiero eliminar la columna ROWGUID me devuelve estos errores, que no se que hacer:

Mens. 5074, Nivel 16, Estado 1, Línea 1
El objeto 'MSmerge_df_rowguid_2250C353D3184F22B16372A47CB14730' de tipo objeto es dependiente de columna 'rowguid'.
Mens. 5074, Nivel 16, Estado 1, Línea 1
El objeto 'MSmerge_index_1510296440' de tipo índice es dependiente de columna 'rowguid'.
Mens. 4922, Nivel 16, Estado 9, Línea 1
Error de ALTER TABLE DROP COLUMN rowguid debido a que uno o más objetos tienen acceso a esta columna.
Si me puedes dar una ayuda, me lei muchas sugerencias, todoas val a usar el ALTER TABLE pero me da error :(. Desde ya muchisimas gracias!
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
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

Cómo borrar ciertas columnas de una tabla sql server

Publicado por Isaias (4558 intervenciones) el 28/10/2019 19:10:23
Hola

El mensaje es muy claro, esa columna tiene DEPENDENCIA con un INDICE, primero debes quitar el indice de la columna y luego eliminarla
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