Переименовать ограничение в SQL Server? - PullRequest
69 голосов
/ 03 января 2012

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

Ответы [ 5 ]

67 голосов
/ 03 января 2012

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

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

47 голосов
/ 23 сентября 2013

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

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

Источник

45 голосов
/ 03 января 2012

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

sp_rename 'CK_Ax', 'CK_Ax1'
8 голосов
/ 26 августа 2015

ответ верный:

exec sp_rename 
@objname = 'Old_Constraint',
@newname = 'New_Constraint',
@objtype = 'object'
1 голос
/ 25 декабря 2017

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

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

sp_rename 'schema.[Name.With.Period.In.It]', 'New.Name.With.Period.In.It'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...