에서 각 레코드에 대해 저장 프로 시저를 실행 나는 업데이트해야하는 두 개의 테이블을 가지고, 마스터 및 식별자 :테이블
마스터
--MasterID (PK)
--ModifiedDate
--ModifiedBy
식별자
--IdentifierID
--MasterID (FK 마스터) --Identifier
--IdentifierType
--ModifiedDate
--ModifiedBy
마스터 테이블의 유일한 이유는 존재 하나의 사람에게 서로 다른 식별자를 묶는 것입니다.
식별자에 삽입해야하는 새 식별자 정보 (MasterID (있는 경우), 식별자, 식별자 유형)가 포함 된 파일이 전송됩니다. MasterID가있는 레코드는 분명히 삽입하기 쉽습니다. 그러나 하나도없는 기록은 조금 더 어렵습니다.
식별자 테이블에 데이터를 삽입하기 전에 새 MasterID를 생성해야 FK로 사용할 수 있습니다.
나는이의 라인을 따라 proc 디렉토리에 저장 뭔가가 작동 할 수 있다고 생각했다 :
DECLARE @IDOutput INT
INSERT INTO Master
(
ModifiedDate,
ModifiedBy
)
VALUES
(
GETDATE(),
'Robert'
)
SET @IDOutput = SCOPE_IDENTITY()
INSERT INTO Identifiers
(
MasterID,
Identifier,
IdentifierType,
ModifiedDate,
ModifiedBy
)
VALUES
(
@IDOutput,
Identifier, --this comes from input file
IdentifierType, --this comes from input file
GETDATE(),
'Robert'
)
내 문제는 내 입력 파일의 각 레코드에 대해이 저장된 프로 시저 실행을하는 방법입니다. 커서, 저장 프로 시저 내의 저장 프로 시저 또는 임시 테이블을 사용하여이 문제를 처리 할 수 있지만이 방법 중 하나를 사용하여 구현하는 가장 좋은 방법은 아닌지 읽었습니다. 사실, 나는 이것이 올바른 방향으로 가고 있는지 확신 할 수 없다.
이 문제에 대한 도움을 주시면 대단히 감사하겠습니다.
어떤 버전의 SQL Server를 사용 하시겠습니까? – gbn
SQL Server 2008. – Sesame