2014/08/11 - [DB/Oracle] - 오라클(Oracle) sequence 생성, 등록, 최종 시퀀스값 조회하기
2014/08/11 - [DB/MySQL] - MySQL 시퀀스 auto_increment 생성 및 초기화하기
1. MS-SQL 시퀀스 생성하기
CREATE TABLE test_board( seq INT NOT NULL identity(1,1) PRIMARY KEY, title VARCHAR(20) NOT NULL ); INSERT INTO test_board(title) VALUES('hello'); INSERT INTO test_board(title) VALUES('hello2'); INSERT INTO test_board(title) VALUES('hello3');
위와같이 실행 후 SELECT문으로 데이터 조회
해당 테이블 구조 및 데이터는
2014/08/11 - [DB/MySQL] - MySQL 시퀀스 auto_increment 생성 및 초기화하기
과 동일함
그럼 이제 모든 데이터를 지우고 다시 같은 insert 쿼리를 동작 후 SELECT문으로 조회를 해보도록
하자
이처럼 seq 컬럼에 데이터가 지워진 시퀀스 데이터에 이어져서 자동증가하는 것을 확인하였다.
시퀀스값을 깔끔하게 1부터 시작하기 원하는 경우가 존재한다.
다음을 이용하여 MS-SQL 시퀀스를 초기화 해보도록 하자
2. MS-SQL 시퀀스 초기화
시퀀스 초기화를 하고자 한다면 다음과 같은 명령어를 주도록 하자
DBCC CHECKIDENT('test_board', RESEED, 0)
위와같은 DBCC CHECKIDENT 함수(?) 실행후 'test_board' 에 초기화 하고자 하는 테이블을 정의 한 후 세번째 파라미터 값에 초기화 값을 지정해주도록 하자
정상적으로 초기화가 되는지 시나리오 작성을 해보도록 하겠음
1) 테이블의 data all delete
2) 시퀀스 초기화(DBCC CHECKIDENT('xxxxxx','RESEED',x))
3) insert문을 디용한 데이터 추가
4) select문을 통한 table data 확인
-- 1. 데이터 모두 삭제 DELETE FROM TEST_BOARD; -- 2. 시퀀스 초기화 DBCC CHECKIDENT('test_board', RESEED, 0) -- 3. INSERT문 실행 INSERT INTO test_board(title) VALUES('hello'); INSERT INTO test_board(title) VALUES('hello2'); INSERT INTO test_board(title) VALUES('hello3'); -- 4. SELECT문 조회 SELECT * FROM test_board
위와같이 정상적으로 seq 컬럼의 시퀀스가 초기화 되는것을 확인 할 수 있었다.
도움이 되셨다면 공감클릭! 궁금하신점은 댓글!!
MS-SQL - 널체크(ISNULL 사용하기) (0) | 2014.08.23 |
---|---|
MS-SQL 2005 이상 row_number() over(order by 정렬조건) 을 이용하여 페이징쿼리를 동작시켜보자 (0) | 2014.08.15 |
MS-SQL SELECT 쿼리로 다른 테이블로 INSERT (INSERT SELECT FROM , SELECT INTO FROM) (1) | 2014.08.13 |
MS-SQL 계층형 트리구조 쿼리 (재귀호출) - with ...(col 1, col 2 ...,col n) as ... union . (2) | 2014.08.12 |