获取插入记录的ID,然后更新另一个表

时间:2015-07-11 20:48:25

标签: sql sql-server merge insert migration

信息

我目前正在将旧数据库中的旧数据迁移到架构已更改的新数据库中。

旧架构

Table Event
    PK_EventID

View OldVideoConferenceParticiants
    FK_EventID
    FK_ParticipantID

新架构

Table Event
    PK_EventID
    FK_VideoConferenceID

Table VideoConference
    PK_VideoConferenceID

Table VideoConferenceParticipants
    PK_VideoConferenceParticipantID
    FK_VideoConferenceID

我想做的是:

  1. 根据eventID对所有旧参与者进行分组。 (完成)
  2. 对于每个eventID,插入一个新的VideoConference,然后将每个事件的VideoConference FK设置为​​各自新插入的VideoConferenceID。 (我无法解决这个问题
  3. 对于每个旧参与者,获取相应的VideoConferenceID并创建一个新的VideoConferenceParticipant。 (完成)
  4. 问题 我想我可能需要使用MERGE,但到目前为止我的所有尝试都是灾难性的。我也尝试过使用

    INSERT ... OUPUT INSERTED.VideconferenceID
    

    ......但我无法做到。我需要以某种方式将EventID和VideoConferenceID并排放置,插入不允许我这样做。

    有人可以给我一些如何完成上述#2的指导吗?

0 个答案:

没有答案