每条记录我有需要更新两个表,硕士和标识符:执行存储过程的表
主
--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