2013-02-27 2 views
0

У меня есть стол с 200 столбцами, я должен отбросить 96 столбцов из этой таблицы.alter table xyz drop column

Использование оператора

alter table XYZ drop column a,b,c,d................... 

принимает навсегда отказаться от колонки на SQL Server2000

Может кто-нибудь помочь или дать мне некоторое представление о том, как это может быть сделано effitiently ..

благодаря

+0

Почему не вручную удалить их с точки зрения дизайна в SSMS или анализатор запросов? – Kaf

+0

Моя первая мысль заключалась в том, чтобы убедиться, что у вас нет внешних ключей, привязанных к этим столбцам, или любых каскадных изменений, которые произойдут в результате. Я недостаточно хорошо знаком с MSSQL 2000, но надеюсь, он не позволит вам удалить столбец, который был (или частью) первичного ключа, так как это может привести к дублированию ключей. – Devin

+0

Первичный ключ, связанный с этими столбцами, отсутствует. – palum

ответ

2

Это не тривиальное изменение, чтобы спросить о любой СУБД и, возможно, потребуется некоторое время. В зависимости от платформы это может также усугубиться, если есть много строк, а столбцы, которые вы удаляете, содержат ненулевые данные.

Возможно, было бы более целесообразно ВЫБРАТЬ столбцы, которые вы хотите сохранить в новую таблицу, отбросить эту и переименовать новую таблицу в исходное имя таблицы.

Ответ намеренно написан обобщенно