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

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

67 голосов | спросил mezamorphic 3 Jpm1000000pmTue, 03 Jan 2012 17:17:21 +040012 2012, 17:17:21

5 ответов


0

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

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

ответил gbn 3 Jpm1000000pmTue, 03 Jan 2012 17:22:46 +040012 2012, 17:22:46
0

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

sp_rename 'CK_Ax', 'CK_Ax1'
ответил Mikael Eriksson 3 Jpm1000000pmTue, 03 Jan 2012 17:23:31 +040012 2012, 17:23:31
0

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

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

источник

ответил ozz 23 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 23 Sep 2013 12:30:17 +0400 2013, 12:30:17
0

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

exec sp_rename 
@objname = 'Old_Constraint',
@newname = 'New_Constraint',
@objtype = 'object'
ответил rojib 26 AM00000060000000231 2015, 06:19:02
0

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

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

sp_rename 'schema.[Name.With.Period.In.It]', 'New.Name.With.Period.In.It'
ответил Winks 25 MonEurope/Moscow2017-12-25T17:02:53+03:00Europe/Moscow12bEurope/MoscowMon, 25 Dec 2017 17:02:53 +0300 2017, 17:02:53

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132