Можно ли переименовать ограничение в SQL Server? Я не хочу удалять и создавать новый, потому что это ограничение влияет на другие уже существующие ограничения, и мне придется их воссоздавать / изменять.
Можно ли переименовать ограничение в SQL Server? Я не хочу удалять и создавать новый, потому что это ограничение влияет на другие уже существующие ограничения, и мне придется их воссоздавать / изменять.
Ответы:
Вы можете переименовать с помощью sp_rename, используя@objtype = 'OBJECT'
Это работает с объектами, перечисленными в sys.objects, которые включают ограничения
@objtype = 'OBJECT'
указывать не нужно . Просто укажите старое имя и новое имя.
После еще нескольких копаний я обнаружил, что на самом деле он должен быть в такой форме:
EXEC sp_rename N'schema.MyIOldConstraint', N'MyNewConstraint', N'OBJECT'
Вы можете использовать sp_rename .
sp_rename 'CK_Ax', 'CK_Ax1'
INDEX
как тип объекта.
sp_rename
параметра и не работают, если вы его используете.
Я знаю, что это старый вопрос, но я обнаружил, что в дополнение к другим отличным ответам очень полезны следующие:
Если в переименовываемом ограничении есть точка (точка), то вам необходимо заключить ее в квадратные скобки, например:
sp_rename 'schema.[Name.With.Period.In.It]', 'New.Name.With.Period.In.It'