본문 바로가기

프로그래밍/MSSQL

MSSQL IDENTITY 컬럼

IDENTITY 컬럼의 현재값 알기 및 수정

현재 값 알기
  "DBCC CHECKIDENT('tableName')"

IDENTITY 컬럼의 마지막 값 강제 지정하기
IDENTITY 컬럼을 임의의 번호부터 시작시키기를 원할 수도 있다. 이때는 다음과 같이 써보자
  "DBCC CHECKIDENT('tableName', RESEED, 10000)"

--> 그러면 다음에  tableName 테이블에 새로운 데이터가 삽입될 때는 10001번 부터 자동 증가된다.

현재 세션에서 삽입된 마지막  IDENTITY컬럼 값 얻기

"SELECT @@IDENTITY"

[참조] 뇌를 자극하는 SQL Server 2005, P.365



IDENTITY 컬럼을 비활성화 시키고 데이터 강제 삽입하기

IDENTITY_INSERT가 OFF로 설정되면 테이블 '이름' 열에 명시적 값을 삽입할 수 없습니다. 라는 에러가 발생하면

아래와 같이 실행해주면 됩니다. 아래와 같이 세팅하면 기존에 있던 번호를 지우고 동일한 번호로 추가한다던지,

삭제하여 빈 번호를  재사용 한다던지가 가능! 완전 편해 ㅠ.ㅠ

Ex)

SET IDENTITY_INSERT testTable ON;

insert into testTable (col1, col2) select coll1, coll2 from testTable2
SET IDENTITY_INSERT testTable OFF;