代码之家  ›  专栏  ›  技术社区  ›  Azaz ul Haq

使用identity列在两个SQL数据库之间迁移数据

  •  0
  • Azaz ul Haq  · 技术社区  · 6 年前

    B's 数据库中相应表中的数据 A .

    假设我们有一个名为 Question Answer 在两个数据库中。分贝 一个 问题 回答 Id 从1开始(&自动递增),并且 问题 回答

    B ,我们有5个条目 桌子和20英寸 .

    进入目标数据库 一个

    任何解决方案或潜在的解决方案都将受到高度赞赏。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Raj    6 年前

    我不会在这里编写SQL,但这里是我认为可以做到的。请确保启用和禁用标识插入。

    1. 从DB A like中获取两个表的maxid A_maxidquestion A_maxidanswer
    2. 从问题中选择。在“选择列”中添加派生列 QuestionID+A_maxidquestion 。这将是你的新身份证。
    3. 从B_答案中选择。在“选择列”中添加派生列 AnswerID+A_maxidanswer fk id为 问题ID+最大问题 .

    注意-在插入值时,确保目标表未被任何其他进程用于插入值

        2
  •  0
  •   Sean Lange    6 年前

    https://docs.microsoft.com/en-us/sql/t-sql/queries/output-clause-transact-sql?view=sql-server-2017 您可以插入新的父项并捕获新插入的标识值,该值可用于插入子项。

    没有桌子的细节,这是我能做的最好的。