2008-09-30 30 views
5

En la base de datos SQL Server, necesito modificar una columna baseColumn y una columna calculada upperBaseColumn. El upperBaseColumn tiene índice.Cómo modificar una columna y una columna calculada

Esta es la forma en la mesa se ve

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

create index idxUpperBaseColumn ON testTable (upperBaseColumn) 

ahora tengo que aumentar la longitud de la columna, tanto de la baseColumn y la upperBaseColumn.

¿Cuál es la mejor manera de hacerlo?

Respuesta

7

Le sugiero que suelte el índice, luego suelte la columna calculada. Altere el tamaño, luego vuelva a agregar la columna calculada y el índice. Usando su ejemplo ...

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) 
Cuestiones relacionadas