Переименовать ограничение в SQL Server?

Можно ли переименовать ограничение в SQL Server? Я не хочу удалять и создавать новый, потому что это ограничение влияет на другие уже существующие ограничения, и мне придется их воссоздать/изменить.

Ответ 1

Вы можете переименовать с помощью sp_rename с помощью @objtype = 'OBJECT'

Это работает с объектами, перечисленными в sys.objects, которые включают ограничения

Ответ 2

Вы можете использовать sp_rename.

sp_rename 'CK_Ax', 'CK_Ax1'

Ответ 3

После некоторого дополнительного копания я обнаружил, что он должен быть в этой форме:

EXEC sp_rename N'schema.MyIOldConstraint', N'MyNewConstraint', N'OBJECT'

Источник

Ответ 4

Ответ верен:

exec sp_rename 
@objname = 'Old_Constraint',
@newname = 'New_Constraint',
@objtype = 'object'

Ответ 5

Я знаю, что это старый вопрос, но я просто нашел следующее, чтобы быть очень полезным, в дополнение к другим отличным ответам:

Если ограничение, которое нужно переименовать, имеет период в нем (точка), тогда вам нужно заключить его в квадратные скобки, например:

sp_rename 'schema.[Name.With.Period.In.It]', 'New.Name.With.Period.In.It'