문제

@@ Identity를 사용하여 Employee Table.nad Geting Empid에 기록을 삽입하는 절차가 있습니까? 이 절차가 동시에 한 명 이상의 사용자가 호출 할 때, 동시에 삽입 된 다른 직원의 신원을 반환 할 가능성이있을 수 있습니다. 시스템 별 신원에 대한 잠금이 없기 때문에?

-코드-empid 열의 식별
직원 (이름) 값 ( 'sahil')에 삽입; @@ Identity를 반환하십시오

나타내다 SQL Server 2005 : @@ Identity를 사용하는 것이 안전합니까? 신원 문제에 대한 잠금

도움이 되었습니까?

해결책

대신 scope_identity ()를 사용해야합니다. 그러나 @@ Identity는 현재 연결을 의미하므로 다른 사용자는 귀하에게 영향을 미치지 않지만 고려해야 할 다른 문제가 있습니다.

추가 정보 여기.

다른 팁

@@ Identity는 사용하기에 안전하지 않습니다. 테이블에 반환 될 값 인 ID가있는 다른 테이블에 인서트가있는 트리거가있는 경우. 방금 삽입 한 idnetity 값을 얻기 위해 사용하지 마십시오. 당신은 내가 지금 방아쇠가 없다고 생각할 수도 있지만, 언제 추가 될지는 알 수 없으며 데이터가 절망적으로 엉망이라는 것을 깨닫기 전에 오랫동안 갈 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top