La suppression de colonnes dans MS SQL Server
Comment puis-je supprimer une colonne dans une table existante?
- double possible de Comment faire pour supprimer une colonne dans une table existante?
- En fait, la question a été écrit de 2 ans après celui-ci, alors que ce serait le double.
- Bien que la question a été écrit après celui-ci, c'est l'obtention de façon plus vues & votes. Doit être un plus google friendly titre ou quelque chose. En tant que tel j'ai voté pour fermer cette question.
Vous devez vous connecter pour publier un commentaire.
La commande que vous cherchez est:
où
tblName
est le nom de la table etcolumnName
est le nom de la colonne, mais il ya quelques choses que vous devez faire en premier.Garder à l'esprit que les performances de cette commande peut ne pas nécessairement une bonne chose. Une option est d'attendre une période de temps lorsque vous pouvez être certain que personne ne pourra accéder à la base de données, renommez la table, puis utilisez
create table
etinsert into ... select from
pour transférer les colonnes que vous ne voulez pas supprimé.L'une des versions de Oracle a fait un doux supprimer ce qui peut tout marque une colonne utilisé sans le supprimer physiquement. Il a le même effet puisque vous ne pouvez plus faire référence et il y a une commande le long des lignes de
alter table ... drop unused columns
qui est destiné à être exécuté en temps calme, qui fait le travail acharné de supprimer effectivement physiquement.Cela a l'avantage de "disparaître" les colonnes immédiatement, sans le faire glisser vers le bas les performances de la base pendant les périodes de pointe.
ALTER TABLE XXX DROP COLUMN YYY;
Pour les grandes tables, cela peut être très lent. Il peut souvent être beaucoup plus rapide pour créer une nouvelle table, une copie de l'ancien, mais avec des modifications, et insérer les données. Abandonner la vieille table, puis renommez la nouvelle table.
Cela peut aussi être fait par le biais de la SSMS GUI.
J'aime bien cette méthode, car il vous avertit s'il y a des relations sur la base de cette colonne et peut également supprimer automatiquement ceux aussi bien. Comme PaxDiablo unis, si il y a des relations, ils doivent être supprimés en premier.
La colonne"
À ce point, s'il y a des relations qui devrait également être supprimé, il vous demandera si vous souhaitez supprimer ceux aussi bien.