如何更改列和计算列

时间:2020-03-06 14:56:33  来源:igfitidea点击:

在SQL SERVER DB中,我需要更改一列" baseColumn"和一个计算列" upperBaseColumn"。 " upperBaseColumn"具有索引。

这是桌子的样子

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

create index idxUpperBaseColumn ON testTable (upperBaseColumn)

现在,我需要增加baseColumnupperBaseColumn的列长。

最好的方法是什么?

解决方案

我建议我们删除索引,然后删除计算列。更改大小,然后重新添加计算列和索引。用你的例子...

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)