집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 새로 생성된 ID 값을 검색하는 방법은 무엇입니까?
SQL Server ID 값 검색 방법: 종합 가이드
ID 열이 포함된 SQL Server 테이블로 작업할 때 삽입 작업 후 새로 생성된 ID 값을 검색하는 것이 중요합니다. 이 가이드에서는 @@IDENTITY
, IDENT_CURRENT
, SCOPE_IDENTITY()
및 OUTPUT
절
옵션 이해
각 방법은 서로 다른 수준의 범위와 신뢰성을 제공합니다.
@@IDENTITY
: 이 함수는 특정 테이블이나 문에 관계없이 현재 세션 내에서 생성된 마지막 ID 값을 반환합니다. 사용이 간편하지만 범위가 넓어 동일한 세션 내에서 여러 삽입이 발생할 경우 오류가 발생하기 쉽습니다. 주의해서 사용하세요.
IDENT_CURRENT('tableName')
: 이 함수는 특정 테이블(tableName
)을 구체적으로 대상으로 하며 모든 세션과 범위에서 해당 테이블에 대해 생성된 마지막 ID 값을 검색합니다. @@IDENTITY
.
SCOPE_IDENTITY()
: 일반적으로 선호되는 방법입니다. 현재 세션 및 현재 범위(일반적으로 현재 일괄 처리 또는 저장 프로시저) 내에서 생성된 마지막 ID 값을 반환합니다. 이는 @@IDENTITY
.
OUTPUT
절: OUTPUT
문과 함께 사용되는 INSERT
절은 삽입된 모든 행의 ID 값을 캡처하는 강력하고 안정적인 방법을 제공합니다. 삽입된 행은 임시 테이블이나 테이블 변수에 기록되므로 ID 값을 직접 쿼리할 수 있습니다. 이는 병렬 실행 계획을 처리할 때 특히 유용합니다. 그러나 OUTPUT
절은 트리거 전에 실행되므로 트리거에 의해 생성된 ID 값이 반영되지 않습니다.
올바른 방법 선택
대부분의 시나리오에서 SCOPE_IDENTITY()
는 단순성과 신뢰성의 최상의 균형을 제공합니다. @@IDENTITY
더 넓은 범위가 명시적으로 요구되지 않는 한 피해야 합니다. IDENT_CURRENT('tableName')
은 필요할 때 보다 구체적인 접근 방식을 제공하며, OUTPUT
절은 특히 복잡한 시나리오나 병렬 처리 작업 시 견고성 때문에 유용합니다. 선택은 궁극적으로 애플리케이션의 특정 요구 사항과 동시 작업 가능성에 따라 달라집니다.
위 내용은 SQL Server에서 새로 생성된 ID 값을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!