在SQL SERVER DB中,我需要更改列baseColumn
和计算列upperBaseColumn
。 upperBaseColumn
上有索引。
这是表格的样子
create table testTable (baseColumn varchar(10), upperBaseColumn AS (upper(baseColumn))
create index idxUpperBaseColumn ON testTable (upperBaseColumn)
现在我需要增加baseColumn
和upperBaseColumn
的列长。
最好的方法是什么?
答案 0 :(得分:8)
我建议您删除索引,然后删除计算列。更改大小,然后重新添加计算列和索引。使用你的例子....
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)