2008-09-30 13 views
5

को बदलने के लिए, मुझे कॉलम baseColumn और एक गणना कॉलम upperBaseColumn बदलने की आवश्यकता है। upperBaseColumn पर सूचकांक है।एसक्यूएल सर्वर डीबी में कॉलम और एक गणना कॉलम

यह कैसे तालिका

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

create index idxUpperBaseColumn ON testTable (upperBaseColumn) 

अब मैं दोनों baseColumn और upperBaseColumn के स्तंभ की लंबाई बढ़ाने की आवश्यकता है।

ऐसा करने का सबसे अच्छा तरीका क्या है?

उत्तर

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) 
संबंधित मुद्दे