每條記錄我有需要更新兩個表,碩士和標識符:執行存儲過程的表
主
--MasterID(PK)
--ModifiedDate
--ModifiedBy
標識符
--IdentifierID
--MasterID(FK來掌握)
--Identifier
--IdentifierType
--ModifiedDate
--ModifiedBy
主表的唯一存在的理由是,以配合不同的標識符來一個人。
我收到一個文件,其中包含需要插入到標識符中的新標識符信息(MasterID(如果可用),標識符,標識符類型)。具有MasterID的記錄顯然易於插入;然而,沒有一個的記錄有點困難。
在將數據插入到標識符表之前,必須生成一個新的MasterID,以便它可以用作FK。
我在想,一個存儲過程的東西沿着這一線路可能工作:
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 2010-06-18 18:27:19
SQL Server 2008. – Sesame 2010-06-18 18:42:08