Как изменить столбец и вычисляемый столбец - PullRequest
5 голосов
/ 30 сентября 2008

В БД SQL SERVER мне нужно изменить столбец baseColumn и вычисляемый столбец upperBaseColumn. У upperBaseColumn есть индекс.

Так выглядит таблица

create table testTable (baseColumn varchar(10), upperBaseColumn AS (upper(baseColumn))

create index idxUpperBaseColumn ON testTable (upperBaseColumn)

Теперь мне нужно увеличить длину столбцов как baseColumn, так и upperBaseColumn.

Какой лучший способ сделать это?

1 Ответ

8 голосов
/ 30 сентября 2008

Я предлагаю вам удалить индекс, а затем удалить вычисляемый столбец. Измените размер, затем повторно добавьте вычисляемый столбец и индекс. Используя ваш пример ....

create table testTable (baseColumn varchar(10), upperBaseColumn AS (upper(baseColumn)))
create index idxUpperBaseColumn ON testTable (upperBaseColumn)

Drop Index TestTable.idxUpperBaseColumn

Alter Table testTable Drop Column upperBaseColumn

Alter Table testTable Alter Column baseColumn VarChar(20)

Alter Table testTable Add upperBaseColumn As Upper(BaseColumn)

create index idxUpperBaseColumn ON testTable (upperBaseColumn)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...