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'