IDENTITY 속성은 초기값 및 증가값을 기반으로 생성된다.
그렇다면 IDENTITY 속성의 열은 고유할까?
PRIMARY KEY 또는 UNIQUE 제약조건을 사용하여야 고유성은 보장된다.
위 제약조건을 설정하지 않고 중복된 데이터가 삽입되는지 확인해보자.
-- 테이블 생성 CREATE TABLE TEST_IDENTITY ( COL1 INT IDENTITY (1,1) , COL2 INT ) GO
-- 데이터 삽입 INSERT INTO TEST_IDENTITY (COL2) VALUES (1) INSERT INTO TEST_IDENTITY (COL2) VALUES (2) INSERT INTO TEST_IDENTITY (COL2) VALUES (3) INSERT INTO TEST_IDENTITY (COL2) VALUES (4) GO
-- 데이터 확인 SELECT * FROM TEST_IDENTITY GO
-- 명시적 값을 테이블의 IDENTITY 열에 삽입할 수 있게 설정 SET IDENTITY_INSERT TEST_IDENTITY ON GO
-- 중복된 IDENTITY 값 삽입 INSERT INTO TEST_IDENTITY (COL1, COL2) VALUES (2, 5) GO
-- 데이터 확인 SELECT * FROM TEST_IDENTITY GO
|
'DBMS > SQL Server' 카테고리의 다른 글
[SQL Server] SQL Server 2014 CE 알고리즘 변경 (0) | 2016.04.15 |
---|---|
[SQL Server] 프로시저 스크립트 확인하는 여러가지 방법 (0) | 2016.04.05 |
[SQL Server] 임시 테이블 생성시 #을 3개이상 붙이면? (0) | 2016.03.08 |
[SQL Server] 테이블 변수에 PK를 복합인덱스로 생성시 문법 주의사항 (0) | 2016.01.25 |
[SQL Server] 문자열 합치기 (1) | 2016.01.14 |