집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 삽입된 행의 ID 값을 검색하는 방법은 무엇입니까?
자동 증가 열이 있는 테이블에 행을 추가하려면 새로 생성된 ID를 검색해야 하는 경우가 많습니다. SQL Server는 이를 달성하기 위한 여러 가지 방법을 제공하며 각 방법에는 고유한 장점과 단점이 있습니다. 상황에 가장 적합한 방법을 선택하려면 이러한 차이점을 이해하는 것이 중요합니다.
@@IDENTITY
함수는 현재 데이터베이스 세션 내의 모든 테이블에서 가장 최근에 생성된 ID 값을 반환합니다. 이는 편리하지만 동일한 세션에서 여러 삽입이 발생하는 경우 신뢰할 수 없어 잠재적으로 잘못된 결과가 발생할 수 있습니다.
SCOPE_IDENTITY()
이 더 정확합니다. 현재 세션 및 범위(예: 저장 프로시저 또는 일괄 처리 내) 내에서 생성된 마지막 ID 값을 반환합니다. 이는 일반적으로 가장 안전하고 가장 권장되는 옵션입니다.
IDENT_CURRENT('tableName')
은 특정 테이블을 직접 타겟팅합니다. 세션이나 범위에 관계없이 해당 테이블에 대해 생성된 마지막 ID 값을 검색합니다. 이는 최근 삽입이 없더라도 테이블에 할당된 마지막 ID를 확인하는 데 유용합니다.
INSERT
문은 OUTPUT
절과 결합될 때 강력하고 직접적인 방법을 제공합니다. ID 값을 포함하여 명령문에 의해 삽입된 모든 행을 캡처할 수 있습니다. 이 접근 방식은 잠재적인 모호성을 방지하기 위해 문 자체에 적용됩니다. 여기에는 일반적으로 임시 테이블이나 테이블 변수에 삽입하는 작업이 포함되므로 좀 더 복잡해집니다.
SCOPE_IDENTITY()
은 새로 생성된 ID 값을 얻는 데 선호되는 방법입니다. 범위별 특성으로 인해 정확성이 보장됩니다.@@IDENTITY
을 사용하세요.IDENT_CURRENT('tableName')
은 세션이나 범위에 관계없이 특정 테이블의 마지막 ID 값을 검색하는 데 유용합니다.INSERT ... OUTPUT
접근 방식은 효율성과 범위 제어를 제공하지만 추가 설정이 필요합니다. 복잡성이 추가되는 것에 비해 이점을 고려하십시오.위 내용은 SQL Server에서 삽입된 행의 ID 값을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!