마지막 insert 한 id 꺼내오기
DB 2012. 10. 30. 16:46 |@identity SCOPE_IDENTITY() IDENT_CURRENT()
모두 마지막으로 insert된 테이블의 identity 컬럼값을 구하는 것이지만 조금 다른점이 있다.
@identity
해당 구역 뿐만이 아니라 함수 호출등으로 인해 다른 테이블에 insert된 identity 값을 갖고 오게 되기 때문에 해당
테이블에 트리거가 걸려있고 그 트리거에서 또 다른 테이블에 insert하는 경우에 문제가 발생할 수 있다
SCOPE_IDENTITY()
현재 구역의 마지막으로 insert된 테이블의 identity를 갖고 오기 때문에 대부분의 경우
SCOPE_IDENTITY() 를 쓰기를 추천한다.
IDENT_CURRENT()
()안에 지정된 테이블의 마지막 identity를 갖고 오지만 섹션에 대한 구분이 없다 즉 다른 섹션에서 또다시
insert된다면 그 값은 기대값과 다를 수 있다
'DB' 카테고리의 다른 글
테이블합치기 - union (0) | 2012.10.30 |
---|---|
쿼리로 도스명령어 실행 (0) | 2012.10.30 |
랜덤 select (0) | 2012.10.30 |
날짜가 몇번째주인지 구하기 (0) | 2012.10.30 |
테이블 삭제 - TRUNCATE TABLE (0) | 2012.10.30 |