2008-09-30 56 views
5

在SQL SERVER數據庫中,我需要更改列baseColumn和計算列upperBaseColumnupperBaseColumn有它的索引。如何更改列和計算列

這是表的外觀

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

create index idxUpperBaseColumn ON testTable (upperBaseColumn) 

現在我需要增加baseColumnupperBaseColumn兩者的列長度。

這樣做的最佳方法是什麼?

回答

7

我建議你刪除索引,然後刪除計算列。更改大小,然後重新添加計算列和索引。用你的例子....

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)