удалить - добавить столбец в таблицу sql oracle




SQL Query для добавления нового столбца после существующего столбца в SQL Server 2005 (5)

Мне нужен SQL-запрос, который добавляет новый столбец после существующего столбца, поэтому столбец будет добавлен в определенном порядке.

Пожалуйста, предложите мне любой запрос ALTER который сделает это.


ALTER не будет делать этого, потому что порядок столбцов не имеет значения для хранения или запросов

Если SQL Server, вам нужно будет использовать конструктор таблиц SSMS для упорядочения ваших столбцов, который затем может сгенерировать скрипт, который уменьшает и воссоздает таблицу

Изменить июнь 2013

Перекрестная ссылка на мой ответ здесь: последствия производительности / пространства при заказе столбцов SQL Server?


Microsoft SQL (AFAIK) не позволяет вам изменять таблицу и добавлять столбец после определенного столбца. Лучше всего использовать Sql Server Management Studio или поиграть с удалением и повторным добавлением таблицы или созданием новой таблицы и перемещением данных вручную. ни очень изящны.

MySQL :

ALTER TABLE mytable
ADD COLUMN  new_column <type>
AFTER       existing_column

Для MS SQL Server, ALTER TABLE tablename ADD columnname INT будет работать. Конечно, невозможно добавить столбец после определенного столбца, как в MySQL, используя команду after .



Сначала добавьте новый столбец в старую таблицу через SSMStudio. Перейдите в базу данных >> таблица >> столбцы. Щелкните правой кнопкой мыши по столбцам и выберите новый столбец . Следуйте указаниям мастера. Затем создайте новую таблицу со столбцами, упорядоченными по желанию, следующим образом:

select * into my_new_table from (
select old_col1, my_new_col, old_col2, old_col3
from my_old_table 
) as A
;

Затем переименуйте таблицы по желанию через SSMStudio. Перейдите в базу данных >> таблица >> выберите переименование.





sql-server-2005