2008-09-30 41 views
5

SQL SERVER DB'de, bir sütun baseColumn ve hesaplanmış bir sütun upperBaseColumn değiştirmem gerekiyor. upperBaseColumn'un üzerinde dizin var. tabloSütun ve hesaplanan sütun nasıl değiştirilir

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

create index idxUpperBaseColumn ON testTable (upperBaseColumn) 

Şimdi baseColumn ve upperBaseColumn hem kolon uzunluğunu artırmak gerekir nasıl göründüğünü

budur.

Bunu yapmanın en iyi yolu nedir?

cevap

7

Dizini bırakmanızı ve sonra hesaplanan sütunu bırakmanızı öneririm. Boyutu değiştirip, hesaplanmış sütun ve dizini yeniden ekleyin. Örneğinizi kullanarak ....

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) 
İlgili konular