Programming/Microsoft SQL Server
MS SQL에서 Table생성시 다음처럼 특정 Column에 Identity값을 설정하면 해당 Table에 Data가 추가될 때마다 자동으로 값이 1씩 늘어나게 됩니다.(설정값에 따라 2나.. 3씩 늘리는 것도 가능합니다.)


T-SQL을 통해 설정하려면 테이블을 생성할때 필요한 열(Column)에 Identity를 다음과 같이 설정합니다.

Create Table Tmp (
    myCol Int Identity(1, 1) Not Null
);

첫번째 값은 초기값, 두번째 값은 증가값을 의미합니다. 이 값의 설정은 생략할 수 있는데 그러면 기본적으로 (1, 1)이 적용됩니다.

이렇게 증가값이 설정되어 들어간 값은 Data가 삭제되도 다시 감소하지 않습니다. 이때 만일 이 Identity값을 초기화 하거나 특정 값으로 되돌리려면 다음형식의 Query문을 사용합니다.

dbcc CheckIdent(대상 Table이름, Reseed, 초기화 값)


또는


dbcc CheckIdent(대상 Table이름)


Identity가 설정된 대상 Table의 값을 초기화 값으로 설정합니다.

참고로 만일 해당 테이블에 대한 현재의 Identity (자동증가값)을 확인하는 방법은 다음과 같습니다.


SELECT IDENT_CURRENT('Table');


또는

Select @@Identity;


만약 Identity가 설정된 열(Column)에 임의로 값을 추가하고 싶다면


Set Identity_Insert '테이블명' On;


위와 같이 설정해야 임의의 값을 추가할 수 있습니다.

0 0