반응형
SYNTAX :
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 } ]
[ ; ]
Property | Description |
데이터 타입 | AS 뒤에 들어갈 데이터 타입 종류- 내장 정수 타입(tinyint, smallint, int, bigint, deciaml etc...) 또는 사용자 지정 정수 타입. 기본값은 bigint. |
START WITH | 시퀀스의 첫 번째 값 지정 |
INCREMENT BY | 증가 또는 감소 할 값. 음수를 넣으면 값이 감소 됨. 만약 1을 넣으면 1씩 증가 -1을 넣으면 1씩 감소 |
MINVALUE | 시퀀스에서 최소 값 지정 |
MAXVALUE | 시퀀스에서 최대 값 지정 |
CYCLE | 한바퀴 다시 돌 건지 시퀀스를 끝낼건지 지정. 만약 값이 증가하는 것으로 지정해놓고 start with값에서 maxvalue에 도달했을 때 다시 start with값으로 돌아간다면 CYCLE, 거기서 순서를 끝낸다면 NO CYCLE |
CACHE | 성능을 위해 시퀀스 값을 캐시함. 기본 값은 CACHE. 캐쉬 사이즈를 지정 가능. 캐시메모리를 쓰지 않겠다하면 NO CACHE. |
Sequence 와 Identity의 차이
Identity | Sequence |
테이블에 종속되어 있다. | 종속되어있지 않고 독립적이다. |
다음 identity 값이 발생하려면 새로운 row가 테이블에 삽입되어야 한다. | NEXT VALUE FOR 를 쓰면 다음 sequence value를 확인 할 수 있다. |
최대값 지정을 할 수 없다. | 최대 값을 지정할 수 있다. |
재시작을 할 수 없다. | CYCLE 옵션으로 재시작 가능하다. |
반응형
'Database > SQL Server' 카테고리의 다른 글
SQL Server - 동적 SQL Dynamic SQL (0) | 2020.12.23 |
---|---|
SQL Server - 전역 고유 식별자 GUID Globally Unique Identifier (0) | 2020.12.23 |
sql 연습 (0) | 2020.12.22 |
SQL Server - sys.dm_sql 참조 엔티티 referencing entities (0) | 2020.12.22 |
SQL Server - 객체 종속성 식별 Identifying object dependencies (0) | 2020.12.22 |