반응형
시퀀스를 이용해서 별도의 유니크한 번호를 생성해보자
시퀀스 생성
CREATE SEQUENCE [schema_name . ] sequence_name
[ AS [ built_in_integer_type | user-defined_integer_type ] ]
[ START WITH <constant> ]
[ INCREMENT BY <constant> ]
[ { MINVALUE [ <constant> ] } | { NO MINVALUE } ]
[ { MAXVALUE [ <constant> ] } | { NO MAXVALUE } ]
[ CYCLE | { NO CYCLE } ]
[ { CACHE [ <constant> ] } | { NO CACHE } ]
[ ; ]
예제
다음과 같은 정수형 시퀀스를 생성해보자
CREATE SEQUENCE [dbo].[SEQ_TEST_NO]
AS [int] -- 정수형
START WITH 0 -- 0 부터 시작
INCREMENT BY 1 -- 1씩 증가 (-1일 경우 1씩 감소)
MINVALUE -2147483648 -- 최소값
MAXVALUE 2147483647 -- 최대값
CACHE
이제, 생성한 시퀀스를 사용해보자
시퀀스 값 조회해보면, 위에서 생성한대로 정수형 0부터 시작하여 1씩 증가하는 값을 반환한다는 것을 볼 수 있다.
SELECT NEXT VALUE FOR 시퀀스명
SELECT NEXT VALUE FOR SEQ_TEST_NO -- 0
SELECT NEXT VALUE FOR SEQ_TEST_NO -- 1
SELECT NEXT VALUE FOR SEQ_TEST_NO -- 2
...더보기
[출처]
https://docs.microsoft.com/ko-kr/sql/t-sql/statements/create-sequence-transact-sql
반응형
'프로그래밍 > MSSQL' 카테고리의 다른 글
[MSSQL] 0으로 나누기 오류가 발생했습니다. (0) | 2018.05.08 |
---|---|
[MSSQL] DB LOCK 확인 및 해제 (0) | 2018.02.10 |
[MSSQL] sp_executesql 사용 (EXECUTE sp_executesql vs EXEC) (0) | 2017.11.30 |
[MSSQL] VARCHAR 타입의 날짜를 DATETIME으로 변경 (날짜변환, 시간변환) (0) | 2017.06.23 |
[MSSQL] @@ROWCOUNT 영향 받은 행 수 반환 (0) | 2017.02.15 |