2015-06-08 2 views
0

Мне нужно удалить уникальное ограничение для ранее существующей таблицы и создать новое уникальное ограничение, которое будет включать дополнительный столбец. Могу ли я использовать имя ограничения для его удаления? или будет изменено имя уникального ограничения, основанного на источнике данных. Мне нужно выполнить скрипт на нескольких экземплярах одного и того же БД (например, dev, test, prod)Drop a Unique Constraint

+0

Вам необходимо убедиться, что имя ограничения одинаково для всех экземпляров. В противном случае вам нужно будет запустить скрипт 'ALTER TABLE yourtable DROP CONSTRAINT uc_example', заменяя' uc_example' каждый раз при переключении вашего экземпляра, в то время как ваше имя ограничения отличается. – FutbolFan

+0

Это зависит от .... Вы назвали ограничение, когда вы его создали или нет? Если вы его не назовете, имя будет различным для каждого экземпляра. –

+0

Получил это. Спасибо за все ответы! – InsaneKarma

ответ

0

Да, вы можете использовать имя ограничения при условии, что вы ранее удалили его, и это было именованное противопоставление.

+0

Как я могу определить, было ли это ограничение по имени? – InsaneKarma

+0

Запросить системную таблицу sql, где определены ограничения и проверить имя contraint SELECT * FROM SYSKEYCST WHERE (TABLE_SCHEMA, TABLE_NAME) = ('SCHEMA', 'TABLE') –

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