컬럼에 자동 증가값 지정 방법
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 |