SQL SERVER 자동 증가 값 생성하기


안녕하세요.
고코더 입니다.

MSSQL에서도 시퀀스를 사용해 고유한 증가 값을
생성 할 수 있습니다. 컬럼에 부여하는 속성과는 다릅니다.
오라클에서 많이 사용하는 방법인데요. 오늘은 이걸 함꼐 알아보겠습니다.


 1. 시퀀스를 만드는 쿼리 입니다. 아주 간단하고 주석에 내용만 봐도 아실거라 생각이 듭니다.
CREATE SEQUENCE [dbo].[SEQ]
AS [int]     --int 정수형
START WITH 0 -- 시작 값 0부터
INCREMENT BY 1       -- 증가 값 +1
MINVALUE -2147483648 --최소값 int 크기
MAXVALUE 2147483647  --최대값
CACHE
GO

 2. 생성된 시퀀스는 데이터베이스-> 프로그래밍 기능 -> 시퀀스 에 존재합니다. 

 3. 해당 시퀀스는 호출시마다 고유한 값을 나타냅니다. 
SELECT NEXT VALUE FOR SEQ

 4. 매번 호출시 지정한 순서대로 증가 값을 더해 숫자를 노출 합니다.
SELECT NEXT VALUE FOR SEQ
SELECT NEXT VALUE FOR SEQ
SELECT NEXT VALUE FOR SEQ


 5. 하지만 하나의 select 쿼리에서 동시 실행시 동일한 값을 표출합니다.
SELECT NEXT VALUE FOR SEQ
         ,NEXT VALUE FOR SEQ
         ,NEXT VALUE FOR SEQ


마무리


시퀀스는 실무에서 많이 사용하며 고유한 값을 여러 쿼리에서 사용할시에 좋습니다.

댓글을 달아 주세요