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


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

5 63

5 ответов:

вы можете переименовать с помощью процедура sp_rename используя @objtype = 'OBJECT'

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

можно использовать процедура sp_rename.

sp_rename 'CK_Ax', 'CK_Ax1'

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

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

источник

ответ является верным :

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

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

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

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