728x90
테이블 컬럼을 삭제를 해야 해서 컬럼 삭제 쿼리를 실행했더니 오류가 나서 삭제가 안된다
해결 한 내용에 대해 정리 해보았다
[에러내용]
" 메시지 5074, 수준 16, 상태 1, 줄 10
The object 'DF_' is dependent on column 'COLUMN NAME'.
메시지 4922, 수준 16, 상태 9, 줄 10
ALTER TABLE DROP COLUMN COLUMN NAME failed because one or more objects access this column. "
[발생원인]
컬럼을 삭제하려고 하니 해당 열에 DEFAULT 제약조건이 걸려 있어 수정이 불가능 한 오류 가 났다
[해결]
1. 제약조건 확인
EXEC SP_HELP 테이블명
2. 제약조건 삭제
ALTER TABLE 테이블명 DROP CONSTRAINT CONSTRAINTNAME
3. 컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명
[참고]
ALTER COLUMN 수정이 불가능한 경우
- 계산 열이나 계산 열에 사용된 열
- DEFAULT 기본 값 정의에 연결된 열(데이터 형식이 변경되지 않은 경우 열의 길이는 변경 가능)
- 인덱스에 사용된 열
- CHECK 또는 UNIQUE 제약조건에 사용된 열
- CREATE STATISTICS 문으로 생성된 통계에 사용된 열
- PRIMARY KEY 또는 FOREIGN KEY 제약조건에 사용된 열
728x90
'DBMS > MSSQL' 카테고리의 다른 글
[MSSQL] SQL Server Agent 권한 (1) | 2022.12.07 |
---|---|
[MSSQL] 프로파일러(Profiler) 실행 및 설정 쿼리 추적 사용법 (0) | 2022.11.22 |
[MSSQL] SELECT * INTO vs INSERT INTO SELECT (0) | 2022.11.16 |
[MSSQL] BEGIN TRAN (0) | 2022.11.03 |
[MSSQL] 쿼리 바로가기(단축키) 지정하기 (0) | 2022.10.26 |