SQLServer를 사용하면 일반적으로 삽입 끝에 SELECT SCOPE_IDENTITY()를 추가하면 새로 삽입 된 레코드의 PK를 반환하는 가장 좋은 방법입니다. pk.모범 사례 : .NET : Oracle 데이터베이스에 대해 PK를 반환하는 방법?
그러나 오라클과 동일한 기능을 찾을 수 없습니다.
최상의 방법은 시퀀스를 사용하여 PK를 생성하는 것으로 보이지만이를 구현하는 방법에는 여러 가지 옵션이 있습니다. sequence.nexval을 삽입하거나 트리거를 사용하려면 개발자에게 맡기시겠습니까?
두 경우 모두 새 ID를 가져 오는 것이 일반적인 문제인 것으로 보입니다. 나는 걸쳐 실행했습니다
제안 및 솔루션은 다음과 같습니다
- 다음, seq.nextval에서 선택 ID를 실행하는 PK
- 을 반환하는 저장된 프로 시저를 만들어 전달하는
- 선택 삽입에 최대 (ID)를 삽입 한 후 (참고 :!이 작업을 수행하지 마십시오)
- 는 삽입에 RETURNING 절을 추가
무엇 마에한다 그는이 상황을 위해 "모범 사례"솔루션을 제공합니까?
지금이 책을 읽는 사람은 누구나 데드 링크 =/ – Travis
그 점을 지적 해 주셔서 감사합니다. 좀 더 안정적인 것으로 링크를 변경했습니다 (다소 덜 우호적 인 경우 - RETURNING 절의 오라클 문서) – ScottCher