ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MSSQL - IDENTITY 값 초기화 하기
    프로그래밍/프로그래밍 관련 2011. 6. 24. 22:31

    [MSSQL - IDENTITY 값 초기화 하기 ]

    아래와 같이 테이블을 생성하였다면 seq 컬럼은 자동 증가값을 가지게 됩니다. 

    USE testOK
    CREATE TABLE [dbo].[tbl_test] (
    [seq] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL,
    [Name] [varchar] (70) NOT NULL,
    [Email] [char] (70) NOT NULL, 
    [Idate] [datetime] NOT NULL 
    )
    GO


    개발과정에서 테스트 후에 데이터를 모두 삭제(DELETE)해도 seq 컬럼은 초기화 되지 않습니다.
    IDENTITY 컬럼의 값을 초기화 하기 위해서는 아래와 같이 DBCC 명령어를 사용하세요.


    -- IDENTITY 값 초기화하기

    -- 사용법 ) DBCC CHECKIDENT([테이블명], reseed, [초기화 시킬 값])

    DBCC CHECKIDENT(tbl_test, reseed, 0)


    위의 명령어를 쿼리분석기에서 실행시키면 identity 값이 1로 초기화 됩니다. 


    단순히 현재 ID값을 재 설정하지 않고, 컬럼의 값과 ID 값만 확인하기 위해서는 아래와 같이 입력하면 됩니다.

    -- 사용법 ) DBCC CHECKIDENT([테이블명], noreseed )

    DBCC CHECKIDENT(tbl_test, noreseed )

    위에 명령어 실행결과 현재 ID값과 컬럼의 값이 일치하지 않을 경우 아래와 같이 조정하면 됩니다. ( 초기값이 입력된
    데이터를 임으로 삭제하고 IDENTITY 값을 초기화 하면 ID값과 컬럼값이 일치하지 않습니다. ID값이 초기화 되었기
    때문에 컬럼값보다 작게 나옵니다.

    -- 사용법 ) DBCC CHECKIDENT([테이블명], reseed )

    DBCC CHECKIDENT(tbl_test, reseed )

    명령어를 위와 같이 입력하면 ID값이 현재의 컬럼 값보다 작을 경우 ID값을 현재의 컬럼값과 같게 재 설정합니다.


    출처: 웹마당넷(webmadang@webmadang.net)   http://www.webmadang.net

    댓글