마찬가지로 previous question과 비슷한 맥락에서 나는 여러분에게 집단 지혜와 도움을 요청합니다.방금 추가 한 행의 ID를 반환하십시오.
저장 프로 시저에서 일부 검사를 통과 한 후 새 행을 삽입하고 새로 만든 ID를 반환해야합니다. 행이 존재하는지 점검하여 작동하지 않도록 비트를 처리합니다.
표에는 두 개의 중요한 열인 LocationID와 CaseID가 있습니다. CaseID는 자동 증가하므로 새로운 위치 정보를 삽입하면 자동으로 움직입니다.
나는 현재이 있습니다
-- previous checks for existance of CaseID
IF @CaseID IS NULL
BEGIN
INSERT INTO
Cases(LocationID)
VALUES
(@LocationID)
-- what now?
END
난 후 immeadiately @CaseID = (SELECT blah)
문을 수행하는 생각하지만, 더 나은 방법이 있는지 궁금 해서요?
더 좋은 방법이 있습니까? 어떻게 할거 니? (즉, 저장된 프로 시저의 끝 부분 인 경우.)
SET @id = SCOPE_IDENTITY()를 사용하고 @@ IDENTITY를 잊어 버리십시오. ID 값을 생성하는 테이블에 트리거가 있으면 @@ IDENTITY는 원래 INSERT ID가 아닌 해당 ID 값을 반환하지만 SCOPE_IDENTITY()는 현재 범위 내에서 적절한 ID를 반환합니다. –