saravana__ Ответов: 3

вставка столбца между столбцами в SQL Server


Как добавить столбец между двумя столбцами в SQL server

Это мой sql запрос но он не работает он отображает некоторые ошибки

alter table [login] add mobileno bigint not null AFTER UserName

ssd_coolguy

Эй, я не думаю, что есть какой-то способ добавить столбец между двумя существующими столбцами с помощью TSQL.для этого вам нужно использовать временную таблицу или Enterprise Manager напишет весь код для вас...:)

3 Ответов

Рейтинг:
5

codeBegin

Вы не можете сделать это программно (то есть безопасным способом) без создания новой таблицы. Нет другого способа вставить столбец в таблицу SQL Server "между" существующими столбцами - вам нужно построить временную таблицу и перестроить старую таблицу.

Когда вы совершаете переупорядочение, Enterprise Manager создает новую таблицу, перемещает данные, а затем удаляет старую таблицу и переименовывает новую таблицу в существующее имя.

Если вы хотите, чтобы ваши столбцы располагались в определенном порядке/группировке без изменения их физического порядка, вы можете создать представление, которое может быть любым, каким вы пожелаете.


VJ Reddy

Хороший ответ. 5!

codeBegin

:) спасибо

Maciej Los

Хороший ответ, мой 5-й!

codeBegin

спасибо :)

Рейтинг:
18

OriginalGriff

Вы не можете вставить столбцы, не создав новую таблицу, включающую столбец в нужной позиции, и не скопировав информацию, прежде чем удалить старую таблицу и переименовать новую.

Единственная причина, по которой вам нужны столбцы в определенном порядке, заключается в том, что вы используете синтаксис SELECT * FROM: что в любом случае является плохой практикой по целому ряду причин. Во-первых, потому что это приводит к тому, что ваша программа ведет себя по-другому или терпит неудачу, если база данных изменяется извне, а во-вторых, потому что это серьезная трата пропускной способности для возврата столбцов, которые вас не интересуют. Всегда явно перечисляйте столбцы, которые вы хотите получить, или влияйте на них, поскольку это может означать, что проблема обнаружена до того, как она повредит значительные объемы данных в вашей базе данных.


VJ Reddy

Хороший ответ. 5!

Maciej Los

Хороший ответ, мой 5-й!

Рейтинг:
1

Sandeep Mewara

AFAIK, вы не можете вставить новый столбец между двумя существующими с помощью запроса или скрипта. Используя графический интерфейс, вы можете выбрать строку столбца в table-design и выбрать опцию Вставить столбец.

Главное, почему это вообще имеет значение? Нет никакой разницы, в каком порядке тот или иной столбец лежит в таблице SQL. Вы всегда можете получить желаемый результат в своих запросах и представлениях, разработанных на основе таблиц.


VJ Reddy

Хороший ответ. 5!

Maciej Los

Хороший ответ, мой 5-й!