> 데이터 베이스 > MySQL 튜토리얼 > 어떤 SQL Server ID 값 검색 방법(@@IDENTITY, IDENT_CURRENT, SCOPE_IDENTITY, OUTPUT 절)을 사용해야 합니까?

어떤 SQL Server ID 값 검색 방법(@@IDENTITY, IDENT_CURRENT, SCOPE_IDENTITY, OUTPUT 절)을 사용해야 합니까?

Linda Hamilton
풀어 주다: 2025-01-23 08:56:12
원래의
232명이 탐색했습니다.

Which SQL Server Identity Value Retrieval Method (@@IDENTITY, IDENT_CURRENT, SCOPE_IDENTITY, OUTPUT Clause) Should I Use?

SQL Server ID 값 검색: 실용 가이드

SQL Server는 새로 삽입된 행의 ID를 가져오는 여러 가지 방법을 제공합니다. 각 방법에는 장단점이 있으므로 특정 요구 사항에 따라 선택해야 합니다. 이 가이드에서는 @@IDENTITY, IDENT_CURRENT, SCOPE_IDENTITYOUTPUT

의 차이점을 명확히 설명합니다.

@@IDENTITY, IDENT_CURRENT, SCOPE_IDENTITY

비교
  • @@IDENTITY: 이 함수는 테이블에 관계없이 현재 세션에서 생성된 마지막 ID 값을 반환합니다. 세션 내의 모든 테이블에서 ID를 검색하는 데 유용하지만 트리거나 동시 작업의 영향을 받을 수 있으므로 주의하세요.

  • IDENT_CURRENT: 세션이나 범위에 관계없이 특정 테이블에 대해 생성된 마지막 ID 값을 검색합니다. 행을 직접 삽입하지 않더라도 특정 테이블의 ID가 필요할 때 적합합니다.

  • SCOPE_IDENTITY: 현재 세션 및 범위 내에서 생성된 마지막 ID 값을 반환합니다. 일반적으로 동일한 문 내의 다른 동시 프로세스와 격리되기 때문에 최근 삽입된 행의 ID를 검색하는 데 가장 적합한 선택입니다.

OUTPUT 조항: 강력한 대안

OUTPUT 절은 INSERT 문에서 삽입된 행에 액세스하는 직접적인 방법을 제공합니다. 다른 열 데이터와 함께 ID 값을 테이블 변수 또는 임시 테이블에 캡처할 수 있습니다. 간단하지만 명령문이 롤백되더라도 데이터를 사용하고 반환하는 것이 약간 더 복잡합니다. 결정적으로, 트리거 전에 실행되므로 트리거에서 생성된 ID 값을 검색하지 않습니다. 그러나 병렬 처리를 사용할 때 ID 값을 얻는 신뢰할 수 있는 유일한 방법을 제공하여 실행 계획에 관계없이 가용성을 보장합니다.

위 내용은 어떤 SQL Server ID 값 검색 방법(@@IDENTITY, IDENT_CURRENT, SCOPE_IDENTITY, OUTPUT 절)을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿