web-dev-qa-db-ja.com

SQL Serverの制約の名前を変更しますか?

SQL Serverで制約の名前を変更することはできますか?この制約は他の既存の制約に影響を与え、それらを再作成/変更する必要があるため、新しい制約を削除して作成する必要はありません。

72
mezamorphic

sp_rename を使用して名前を変更できます@objtype = 'OBJECT'

これは、制約を含むsys.objectsにリストされているオブジェクトで機能します

68
gbn

さらに掘り下げた後、実際にこの形式にする必要があることがわかりました。

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

ソース

51
ozz

sp_rename を使用できます。

sp_rename 'CK_Ax', 'CK_Ax1'
45
Mikael Eriksson

答えは本当です:

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

私はこれが古い質問であることを知っていますが、他の素晴らしい答えに加えて、次のことが非常に役立つことがわかりました。

名前を変更する制約にピリオド(ドット)が含まれている場合は、次のように角括弧で囲む必要があります。

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