SQL Server는 새로 삽입된 행의 ID를 가져오는 여러 가지 방법을 제공합니다. 각 방법에는 장단점이 있으므로 특정 요구 사항에 따라 선택해야 합니다. 이 가이드에서는 @@IDENTITY
, IDENT_CURRENT
, SCOPE_IDENTITY
및 OUTPUT
절
@@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 중국어 웹사이트의 기타 관련 기사를 참조하세요!