본 게시물은 개인적인 의견으로 작성되었으니 절대적인 정보가 아닐 수 있습니다. 참고만 하시고 궁금한 사항이 있으시면 연락주세요.

티스토리 뷰

 

[참고문서]

http://www.leadfirstsql.com/2015/04/difference-between-scopeidentity.html

http://dotnetconcepts-ashok.blogspot.kr/2013/06/difference-between-identity.html

http://www.sqlservergeeks.com/ident_current-vs-scope_identity-vs-identity-vs-identity-in-sql-server/

 

해당하는 레코드의 입력된 IDentity 최종 값 리턴 해준다.

차이점은 무엇일까?

 

SELECT @@IDENTITY

현재 세션에서 동작하는 모든 실행쿼리의 최종의 Identity 값을 리턴

SELECT SCOPE_IDENTITY()

현재 세션에서만의 최종 Identity 값을 리턴

SELECT IDENT_CURRENT('tablename')

어느 세션이든 해당 테이블의 최종 Identity 값을 리턴

 

결론적으로 @@IDENTITY 는 해당 세션에서 실행하는 모든 실행 순서의 마지막의 Identity 값을 가져온다. 다시 말해 세션에서 호출되는  서브프로시져, 트리거 등에서 내부적으로 재 호출할때 최종으로 호출되는 마지막 값을 리턴해준다.

 

위 예제를 해보면 이해가 될 것이다.

댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday