【问题标题】:Updating data in a table in test db from a table in live db in oracle从 oracle 中的 live db 中的表更新 test db 中的表中的数据
【发布时间】:2012-06-11 11:23:13
【问题描述】:

我在 testDB 和 liveDB 中有相同的表。我需要使用该表的 LiveDB 中的数据更新 testDB 中的数据。如何在 Oracle 中做到这一点?

【问题讨论】:

  • 您需要更新数据并保留 testdb 数据,还是只需将 test 中的数据替换为 live?如果是后者,则截断 testdb 表,使用 oracle exp 和 imp 表将表从 live 导出到 testdb,如果它们不一样,则使用 fromuser/touser 将其放入您想要的架构中。

标签: oracle sql-update insert-update


【解决方案1】:

你可以试试 Oracle merge 命令: http://docs.oracle.com/cd/B13789_01/server.101/b10759/statements_9016.htm

它将结合所有insertsupdatesdeletes 以使记录相同。这应该可行,除非您对其他表进行了一些参照完整性检查。

【讨论】:

    【解决方案2】:

    除非测试中有需要保留的数据,否则运行预定脚本:

    DELETE * FROM TESTDATA_TBL
    

    然后

    INSERT INTO TESTDATA_TBL (COLUMN1, COLUMN2, . . . ) 
    SELECT LIVEDATA_TBL.COLUMN1, LIVEDATA_TBL.COLUMN2 FROM LIVEDATA_TBL 
    

    等等

    【讨论】:

      猜你喜欢
      • 2019-09-08
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      • 2020-08-21
      • 2017-11-08
      • 2013-05-31
      • 2021-10-27
      • 1970-01-01
      相关资源
      最近更新 更多