2013-08-26 2 views
0

Мне нужно изменить тип данных столбца таблицы, который считается быть сделано с помощью заявления:SQL Server 2008 изменить тип данных столбца таблицы

ALTER TABLE QUANTITIES_NEW ALTER COLUMN VERSION_NEW VARCHAR(12); 

К сожалению, захожу ошибку (немецкий)

Meldung 5074, Ebene 16, Status 1, Zeile 1 
Das Objekt-Objekt 'UQ_QUANTITIES_NAME_VERSION' ist vom Spalte-Objekt 'VERSION_NEW' abhängig. 
Meldung 4922, Ebene 16, Status 9, Zeile 1 
Fehler bei ALTER TABLE ALTER COLUMN VERSION_NEW, da mindestens ein Objekt auf diese Spalte zugreift. 

, которые могут быть переведены:

The object-object 'UQ_QUANTITIES_NAME_VERSION' depends on the column object 'VERSION_NEW'. 
Failure at ALTER TABLE ALTER COLUMN VERSION_NEW, because this column is accessed by one or more columns. 

Я предположил, что ограничение уникальности не отключается. Настоящим я исполнил заявление

ALTER TABLE QUANTITIES NOCHECK CONSTRAINT ALL 
; 

тоже. Но все та же ошибка.

ответ

1

УБЕДИТЕСЬ, КАК СВЯЗАТЬСЯ С КОНСТРУИРОВАННЫМ. Если вы взорвите свои таблицы, в ограничениях раздела вы найдете ограничение, связанное с вашим полем. Брось это. После того, как вы сможете изменить свое поле, введите

+0

Не существует способа отключить ограничение и впоследствии обновить его. Потому что, если я удалю его, я должен добавить его снова. –

+1

IHMO, ни в коем случае. Потому что в ограничении хранятся некоторые данные поля, такие как значение DEFAULT. –

+0

Поскольку операторы DDL автоматически генерируются программой, мне нужно знать подробности об UniqueConstraint (например, имена столбцов), потому что я хочу получить ту же Constraint, сгенерированную программой. Есть запрос на получение этой информации? Заранее спасибо. –

Смежные вопросы