SQL Server에서 제약 조건의 이름을 바꾸시겠습니까?
SQL Server에서 제약 조건의 이름을 바꿀 수 있습니까?이 제약 조건은 이미 존재하는 다른 제약 조건에 영향을 미치기 때문에 삭제하고 새로 만들 필요가 없습니다.
좀 더 파본 후에, 저는 그것이 실제로 다음과 같은 형태여야 한다는 것을 발견했습니다.
EXEC sp_rename N'schema.MyIOldConstraint', N'MyNewConstraint', N'OBJECT'
다음을 사용하여 sp_rename을 사용하여 이름을 변경할 수 있습니다.@objtype = 'OBJECT'
이 작업은 제약 조건을 포함하는 sys.objects에 나열된 개체에서 작동합니다.
sp_rename을 사용할 수 있습니다.
sp_rename 'CK_Ax', 'CK_Ax1'
정답은 참입니다.
exec sp_rename
@objname = 'Old_Constraint',
@newname = 'New_Constraint',
@objtype = 'object'
이것이 오래된 질문이라는 것을 알지만, 다른 훌륭한 답변 외에도 다음과 같은 것들이 매우 유용하다는 것을 알게 되었습니다.
이름을 바꿀 제약 조건에 마침표(점)가 있는 경우 다음과 같이 대괄호로 묶어야 합니다.
sp_rename 'schema.[Name.With.Period.In.It]', 'New.Name.With.Period.In.It'
이건 어때요?
ALTER TABLE schema.table_name RENAME CONSTRAINT old_fk1 TO new_fk11;
쿼리를 실행하여 저처럼 "제약이 이미 존재합니다"라는 오류 메시지가 있는 테이블을 만들 때 문제가 발생하는 경우, 원인이 저와 같기 때문일 수 있습니다.
우리 팀이 db 구조를 생산 환경으로 업데이트할 때, 새로운 테이블 하나를 만들 수 없기 때문에 고착되었습니다.
테이블이 실제로 이름이 변경된 오래된 테이블이기 때문에 테이블이 이미 이전 이름으로 생산 중이라는 것을 알게 되었습니다.
따라서 운영 중인 테이블의 이름을 변경할 수 있습니다.또는 삭제한 후 새 테이블을 만듭니다.
언급URL : https://stackoverflow.com/questions/8712875/rename-a-constraint-in-sql-server
'codememo' 카테고리의 다른 글
| Git에서 파일 이름의 대문자화를 어떻게 변경합니까? (0) | 2023.05.13 |
|---|---|
| WPF의 명령을 컨트롤의 더블 클릭 이벤트 핸들러에 바인딩하는 방법은 무엇입니까? (0) | 2023.05.13 |
| 현재 및 미래의 모든 리포지토리에 Git 사후 커밋 후크 적용 (0) | 2023.05.13 |
| 빈 값 또는 null 값을 확인하는 가장 좋은 방법 (0) | 2023.05.13 |
| 왜 코어를 써야 하죠?autocolf=git에 참입니까? (0) | 2023.05.13 |