'자동증가'에 해당되는 글 1건

  1. 2010.01.06 MSSQL 자동증가(IDENTITY) 다시 세팅

-- 온라인 설명서
구문
DBCC CHECKIDENT
(
        table_name
        [ , { NORESEED | { RESEED [ , new_reseed_value ] } } ]
)
[ WITH NO_INFOMSGS ]

현재 ID 값의 구체적인 수정 사항은 매개 변수 지정에 따라 달라집니다.

DBCC CHECKIDENT 명령

ID 수정 사항

DBCC CHECKIDENT ( table_name, NORESEED )

현재 ID 값을 다시 설정하지 않습니다. DBCC CHECKIDENT
ID
열의 현재 ID 값과 현재 최대값을 반환합니다.
값이 같지 않으면 ID 값을 다시 설정하여 잠재적 오류를 방지하고
값이 간격 없이 순서대로 지정되도록 해야 합니다.

DBCC CHECKIDENT ( table_name )

또는

DBCC CHECKIDENT ( table_name, RESEED )

테이블의 현재 ID 값이 ID 열에 저장된 최대 ID 값보다 작을 경우
ID
열의 최대값을 사용하여 다시 설정됩니다.

DBCC CHECKIDENT ( table_name, RESEED, new_reseed_value )

현재 ID 값이 new_reseed_value 설정됩니다.
테이블이 생성된 삽입된 행이 없거나
TRUNCATE TABLE
문을 사용하여 모든 행을 제거한 경우에는
DBCC CHECKIDENT
실행한 후에 처음 삽입되는 행이 new_reseed_value ID 사용하게 됩니다.
그렇지
않으면 다음에 삽입된 행은
new_reseed_value
+ 현재 증분 값을 사용합니다.

테이블이 비어 있지 않은 경우
ID
값을 ID 열의 최대값보다 작은 숫자로 설정하면
다음 조건 하나가 발생할 있습니다.

·         ID 열에 PRIMARY KEY 또는 UNIQUE 제약 조건이 있으면
생성된 ID 값이 기존 값과 충돌하므로 나중에 테이블에 삽입 작업을 수행할 오류 메시지 2627 생성됩니다.

·         PRIMARY KEY 또는 UNIQUE 제약 조건이 없으면
나중에 삽입 작업을 수행할 중복 ID 값이 생성됩니다.


예외

Posted by 스왓
이전버튼 1 이전버튼