본문 바로가기
DB/MSSQL

[MSSQL] @@IDENTITY (자동증가값) PK값 IDX값 반환

by 은z 2022. 3. 16.

 

MySQL과 마찬가지로 MSSQL(Sql Server)에도 insert 후 바로 PK값을 select 하는 방법이 존재한다.

MySQL은 이 포스팅 참고하면 된다.

2021.11.15 - [DB/MySQL] - [MySQL] LAST_INSERT_ID()

 

 

오늘 알아보려고 하는 MSSQL은 아래 코드이다.

버전마다 조금씩 다르니, 자신의 버전을 꼭 확인하길 바란다.

 

SELECT @@IDENTITY

SELECT @@IDENTITY는 

마지막으로 삽입된 ID 값을 반환하는 시스템 함수를 뜻한다.

영향받은 것이 없거나 자동증가 값이 없다면, NULL을 반환한다.

 

 

실제 예

<insert id="insertRegData" parameterType="Result">

		INSERT INTO RESULT
		(
			 LOCALE
			, TYPE
			, TITLE
			, CONTENTS
			, SHOW_YN
			, START_DAY
			, END_DAY
			, ORDER_NO
			, RELATION_URL
			, RELATION_URL_TYPE
			, REG_ID
			, REG_DT
			, MOD_ID
			, MOD_DT
		)
		VALUES
		(
			#{locale}
			, #{type}
			, #{title}
			, #{contents}
			, #{showYn}
			, #{startDay}
			, #{endDay}
			, #{orderNo}
			, #{relationUrl}
			, #{relationUrlType}
			, #{regId}
			, GETDATE()
			, #{modId}
			, GETDATE()
		)

		<selectKey keyProperty="no" resultType="String" order="AFTER">
			SELECT @@IDENTITY
		</selectKey>

	</insert>

'DB > MSSQL' 카테고리의 다른 글

[MSSQL] OFFSET - FETCH 이용하여 페이징 처리  (0) 2022.03.16
[MSSQL] 날짜 포맷 변경하기  (0) 2022.03.15

댓글