나는이 같은 T-SQL 쿼리가 있습니다.업데이트 위치를 선택, 보증 자성
편집 : 이 쿼리를 실행하면 [MyField]가 더 이상 NULL이 아니기 때문에 SELECT로 반환 된 ID를 다음 실행에 사용할 수 없습니다. 그러나이 쿼리를 동시에 두 번 실행하면 두 실행 모두 동일한 ID를 반환 할 수 있습니다 (두 번째 UPDATE는 첫 번째 UPDATE를 덮어 씁니다).
나는 이것을 피하기 위해 하나의 해결책은 SERIALIZABLE 격리 수준을 사용하는 것입니다. 그게 가장/가장 빠른/가장 간단한 방법인가요?
당신이 무엇을 의미 보인다 (테스트 코드가 있음을 확인) ? 그것은 하나의 값만 반환해야합니다. 'WITH TIES' 옵션을 사용하지 않는 한. –
'select는 동일한 Id를 두 번 반환 할 수 있습니다. ' 음, 항상 똑같은 이드를 돌려 줄거야. – sagi
@sagi 업데이트가 실행되지 않습니다. – krimog