MSSQL 2008/MSSQL SQL

SQL - 컬럼의 자동 증가값 지정하기

본클라쓰 2011. 9. 21. 14:58

 

컬럼에 자동 증가값 지정 방법

 

 MSSQL 에서 자동 증값을 지정할 때는 'IDENTITY' 키워드를 사용합니다.

CREATE TABLE TEST

(

    USER_INDEX INT IDENTITY(1,1),

    USER_NAME VARCHAR(20)

)

 

IDENTITY(시작할 숫자값, 증가할 숫자값)

 

 

 

 

INSERT 시 증가된 값 얻어오기

 

 IDENTITY를 설정해주 테이블에 INSERT한 경우 INSERT한 IDENTITY값을 불러오기 위해 다시 한번 SELECT를 해주게 됩니다. 이 때 SELECT @@IDENTITY를 붙여 주면 INSERT한 ROW의 IDENTITY 값을 불러올 수 있습니다.

INSERT INTO TEST (NAME) VALUES ('홍길동') SELECT @@IDENTITY

 

 

 

증가값 임의로 지정 방법

 

 IDENTITY를 선언한 경우에는 INSERT 시 IDENTITY로 선언된 컬럼의 값을 임의로 지정할 수 없습니다. IDENTITY로 설정할 때는 COLUMN에 수동으로 INSERT하는 것을 허용하지 않는다는 뜻입니다. 이 상태에서 IDENTITY 설정이 되어 있는 COLUMN은 자동으로 값이 입력됩니다. 만약, 임의의 번호를 지정하고 싶거나 삭제된 번호를 채워 넣고 싶을 때 유용한 방법입니다.

 

SET IDENTITY_INSERT [테이블명] ON

- 증가값을 수동으로 지정

 

SET IDENTITY_INSERT [테이블명] OFF

- 증가값을 자동으로 지정(IDENTITY 선언하면 기본값으로 설정)

 

DBCC CHECKIDENT('[]', RESEED, 0);

- 시작값을 임의로 지정 

 

'MSSQL 2008 > MSSQL SQL' 카테고리의 다른 글

SQL - 트랜잭션 제어  (0) 2012.03.28
SQL - 테이블 조인 사용  (0) 2012.03.12
SQL - 테이블의 데이터 복사  (0) 2011.09.15
SQL - Null 비교 방법  (0) 2011.08.11
SQL - 날짜 및 시간 데이터 처리 방법  (0) 2011.05.03