DB/MSSQL

[mssql] SSMS 에서 cascade 적용하기

벨포트조던 2022. 4. 30.
반응형

배경 

- 여러가지 FK 로 얽힌 테이블 10개 정도 중 FK인 컬럼을 업데이트 해야하는 상황

- 실제 운영상황에서는 cascade를 내가 수정할 일이 드물다. 경력이 찰 수록 더 안하는 상황이라 ... 

기억이 안나는게 가장 문제였음

- cascade가 뭔지는 아는데, 직접 내가 수정했던건 5년 이상이었던것 같음 

 

해결 

- 개발자 입장에서... ddl 로 써서 하는건 기억이 정확하지 않아, 툴을 사용해서 하고 싶음 

 

참고

https://www.sqlshack.com/delete-cascade-and-update-cascade-in-sql-server-foreign-key/

별거 없다. FK 설정에서 update, delete Rule을 수정하고 저장만 하면된다.

https://papababo.tistory.com/entry/MSSQL%EC%97%90%EC%84%9C-DELETE-CASCADE-%EC%84%A4%EC%A0%95%EB%B0%A9%EB%B2%95

 

문제상황 

1. update cascade 수정을 하고 업데이트를 해도 업데이트시 에러 발생 

2. 툴의 권한문제 인가 싶어서(DB 권한이 제한적) DDL로 직접 수정함.

3. 그래도 안됨

4. 보다보니.... FK 얽힌데가... 한두군데가 아님. 거미줄처럼 사방에 퍼져 있음

5. 이러면 하나 업데이트 하면 5~6 테이블의 컬럼이 수정되야 됨 

6. 에러나는 테이블마다 모든 FK 를 전부 cascade 수정함 

 

정상작동 .!

 

솔직히 아주아주 기본 난이도인데..... 하도 오랜만에 해서 .... 어색했음 

반응형

댓글