2008-09-30 5 views
5

SQL SERVER DB에서 열 baseColumn 및 계산 된 열 upperBaseColumn을 변경해야합니다. upperBaseColumn에는 색인이 있습니다. 테이블이열과 계산 된 열을 변경하는 방법

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) 
관련 문제