INT형 데이터 형식의 컬림이 오버플로 오류가 발생하여 BIGINT형으로 변경해야하는 경우가 있다.
아래와 같이 실행하였을 때 오류가 발생한다.
해당 열에 DEFAULT 제약조건이 걸려있어서 수정할 수 없는 오류이다.
제약조건을 확인해보면 해당 열에 DEFAULT 제약조건이 걸려있음을 확인할 수 있다.
해당 열의 데이터 형식을 변경하기 위해서
1. DEFAULT 제약조건 삭제
2. 데이터 형식 변경
3. 다시 DEFAULT 제약조건 추가
ALTER COLUMN은 명명된 열을 변경하도록 지정한다. 하지만 다음과 같은 열은 수정할 수 없다.
1. 데이터 형식이 timestamp인 열
2. 테이블의 ROWGUIDCOL
3. 계산 열이나 계산 열에 사용된 열
4. 인덱스에 사용된 열
5. CREATE STATISTICS 문으로 생성된 통계에 사용된 열
6. PRIMARY KEY 또는 FOREIGN KEY 제약조건에 사용된 열
7. CHECK 또는 UNIQUE 제약조건에 사용된 열
8. 기본 값 정의에 연결된 열. 그러나 데이터 형식이 변경되지 않은 경우 열의 길이는 변경 가능
참고 : http://technet.microsoft.com/ko-kr/library/ms190273(v=sql.100).aspx
'DBMS > SQL Server' 카테고리의 다른 글
[SQL Server] 복제된 테이블에 열 추가하기 (0) | 2014.07.28 |
---|---|
[SQL Server] 사용중인 포트 확인 및 변경 (0) | 2014.07.03 |
[SQL Server] UPDATE 절 사용시 FROM 절, JOIN 사용하기 (0) | 2014.04.18 |
[SQL Server] RPC에 대해 구성되지 않았습니다. (0) | 2014.04.14 |
[SQL Server] UNION을 ORDER BY와 같이 사용할 때 원하는 값 얻기 (0) | 2014.02.12 |