DB

[MSSQL] SCOPE_IDENTITY()

91cm 2019. 2. 24. 21:45



SCOPE_INDENTITY()


- INSERT한 마지막 행의 키값을 반환한다.



비슷한 역할을 하는 애들로는 아래 애들이 있다.


@@IDENTITY 

▶ 같은 역할을 하지만, 현재 세션에서 마지막에 삽입된 IDENTITY을 반환함, 고로 데이터 정합성을 보장 할 수 없음


IDENT_CURRENT()

▶ 같은 역할을 하지만 , 해당 테이블 호출 시점의 마지막 INDENTITY값을 반환함, 고로 얘도 데이터 정합성을 보장할 수 없음.




SCOPE_INDENTITY() 예제


1
SELECT * FROM TB_DEPT
cs





1
2
3
INSERT INTO TB_DEPT(DEPT_NAME) VALUES('QA팀')
 
SELECT SCOPE_IDENTITY();
cs
결과 5


1
2
3
UPDATE TB_DEPT SET DEPT_NAME='영업1팀' WHERE DEPT_SEQ=5
 
SELECT SCOPE_IDENTITY();
cs
결과 5



1
2
3
DELETE TB_DEPT FROM TB_DEPT WHERE DEPT_SEQ=5
 
SELECT SCOPE_IDENTITY();
cs

결과 5