본문 바로가기

카테고리 없음

MS SQL SEQUENCE와 IDENTITY

SEQUENCE와 IDENTITY를 이용해 컬럼을 생성하면 행 INSERT시 초기값 기준으로 일정하게 증가하는 값을 얻을 수 있다.

1)IDENTITY:

       -테이블 생성시 컬럼에   IDENTITY(시작값 , 증가값)  옵션을 같이 넣어주는 방식으로 사용한다.

                 EX)  쿼리: CREATE TABLE EX( .......   ,  NUM INT IDENTITY(0,2) ,...............) 

                       결과: 1번째 NUM컬럼 값 0 , 2번째 NUM컬럼 값 2 , 3번쨰 NUM컬럼 값  4 ......

 

2)SEQUENCE:

 

     -SEQUENCE를 선언하고 테이블 생성시 컬럼을 NEXT VALUE FOR PRODUCTSEQ 작성하면 된다. 

                   <선언> 

                  CREATE SEQUENCE 시퀀스명

                  AS 타입

                  START WITH 시작값

                  INCREMENT BY  증가/감소값

                  MINVALUE 최소값

                  MAXVALUE 최대값

                  NO CYCLE

                  GO ;

               

 

                  <실행>

                 

                   1>  컬럼명이 필요 없다면 

 

                        CREATE TABLE 테이블명 

                        ( ..........., NEXT VALUE FOR 시퀀스명 ,.......................)로 테이블 생성 후 해당 컬렁 제외하고 INSERT하면                          컬럼명이 '이름없습'이된다.

                            

                   2> 컬럼명이 필요한 경우

                        INSERT INTO 테이블명(......,컬러명,.....) VALUES(......., NEXT VALUE FOR 시퀀스명 , ................)로 INSERT