DATABASE

[MSSQL] 자동증가열(identity) 사용법

예나부기 2021. 7. 16.

자동증가열(identity) 생성하기

CREATE TABLE [dbo].[테이블명](
    [컬럼명] [숫자데이터형식] IDENTITY([초기값],[증가값]) [제약조건]
)
GO

 

Table Alter시 사용법

ALTER TABLE [테이블명] ADD [컬럼명] [숫자형 데이터형식] IDENTITY ([초기값], [증가값]) [제약조건]

 

자동증가열(identity) 사용하기

@@IDENTITY : 현재 세션의 테이블에서 생성된 마지막 id값을 반환

IDENT_CURRENT() : 임의 세션 및 범위에 있는 특정 테이블에 생성된 값을 반환

SCOPE_IDENTITY() : 현재 세션의 테이블에서 생성된 마지막 ID값을 반환

select @@IDENTITY  ,IDENT_CURRENT('Table'), SCOPE_IDENTITY()

@@IDENTITY과 SCOPE_IDENTITY는 현재 세션의 테이블에서 생성된 마지막 ID 값을 반환합니다.

 @@IDENTITY은 특정 범위로 제한되지 않습니다.

러나 SCOPE_IDENTITY는 현재 범위 내에서만 값을 반환합니다.

IDENT_CURRENT는 범위와 세션으로 제한되는 것이 아니라 지정된 테이블로 제한됩니다.

 

*@@IDENTITY 값은 복제 트리거 및 저장 프로시저 내에서 사용되므로 복제로 인한 영향을 받을 수 있습니다.

댓글