336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
MSSQL @@IDENTITY , SCOPE_IDENTITY, IDENT_CURRENT 차이
@@IDENTITY
@@의 의미는 세션이다. 즉 해당 세션에서 테이블에 insert 된 최종값을 의미한다.
멀티스레팅에서 엉뚱한 값이 들어갈 확률이 높다.
IDENT_CURRENT('테이블명')
세션에 상관없이 해당 테이블에 대한 최종값 또는 들어갈 값을 의미한다.
다른 IDENTITY 와 다르게 데이터 입력전에 그 값을 알 수 있다.
하지만 테으블 전체에 대한 값을 의미하므로 1인용 시스템에나 적합하다.
SCOPE_IDENTITY()
마지막으로 해당 프로세스 + 해당 세션의 최종 IDENTITY 를 가져온다.
이 함수가 실행되는 곳이 SP 이거나 FN 이거나 TRIGGER 일 수도 있다. 그렇다면 해당 프로세스+세션으로 제한을 걸고 IDENTITY 를 가져오기 때문에 실시간 키코드를 리턴해야하는 상황에서 가장 신뢰할 수 있는 함수이다.
타 DBMS
ORACLE : SEQUENCE.CURRVAL, SEQUENCE.NEXTVAL
MYSQL : LAST_INSERT_ID()