* 시퀀스 (SEQUENCE)
- 테이블이나 컬럼에 상관없이 데이터베이스 상에 별도 존재하는 오브젝트.
- 오름차순, 혹은 내림차순으로 순차적인 값을 리턴한다.
Identity속성과 차이점
Identity : 한 테이블 내의 특정 컬럼에 종속 , Row가 insert가 될 때 생성
Sequence : 공용으로 사용 가능 - 테이블에 독립적, application이 특정 함수를 호출하여 insert와 별개로 다음 sequence 값을 가져 올 수 있다.
sql의 sequence는 그 독립적인 특성 때문에 application이 next value를 얻어 여러 테이블들 혹은 여러 컬럼들에 동시에 그 값을 사용할 수 있다.
이는 application 개발자에게 보다 많은 Control과 유연성을 준다.
* 생성 CREATE SEQUENCE
CREATE SEQUENCE dbo.Seq1
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE
NO CYCLE
GO
-- 1부터 1씩 증가하는 seq 생성
CREATE SEQUENCE dbo.Seq10
START WITH 10
INCREMENT BY 10
NO MINVALUE
NO MAXVALUE
CACHE
NO CYCLE
GO
-- 10부터 10씩 증가하는 seq 생성
* 조회 select NEXT VALUE FOR DBO.Seq1, NEXT Value for dbo.Seq10;
1회차 조회
2회차 조회
- 결과를 보면 조회함으로써 값이 자동 증가한 것을 알 수 있다.
https://msdn.microsoft.com/ko-kr/library/ff878091.aspx
https://msdn.microsoft.com/ko-kr/library/ff878370(v=SQL.110).aspx
'프로그래밍 > DB & Redis' 카테고리의 다른 글
[MSSQL] 저장 프로시저 (0) | 2016.08.05 |
---|---|
[mssql] 조회하기 Where, Having (0) | 2016.07.20 |
[MSSQL] isNull 함수 (0) | 2016.07.20 |
[mssql] JOIN 쿼리 - Cross, Inner, left outer, right outer, full outer (0) | 2016.07.20 |
[sql] sql error 26번 에러 (0) | 2015.10.25 |
댓글