【问题标题】:how can I update a table in one schema to match a table in a second schema如何更新一个模式中的表以匹配第二个模式中的表
【发布时间】:2016-08-07 16:43:37
【问题描述】:

假设唯一的区别是第二个模式中的附加字段和索引,我如何更新一个模式中的表以匹配第二个模式中的表。我不想更改表中的任何数据。希望在不费力地识别缺失字段的情况下做到这一点。

【问题讨论】:

  • 让我澄清一下。这里,“更新”是指同步表的结构?
  • 很遗憾没有ALTER TABLE THIS_ONE MAKE IT LOOK LIKE THAT_ONE 命令。您必须找出差异并编写适当的 DDL 来添加列、索引、约束等。祝您好运。

标签: sql oracle schema


【解决方案1】:

一个优雅的解决方案可以是在 ALTER、CREATE ddl_event 上触发的 DDL 触发器,它将相同的更改应用于第一个表(在一个模式中)与在第二个表(即另一个模式)中相同交易。

链接 --> https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS2008

【讨论】:

    【解决方案2】:

    Oracle DBMS 大炮最近添加的一个鲜为人知但有趣的功能是 DBMS_COMPARISON。

    https://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_comparison.htm

    我自己没有尝试过,但根据文档应该可以让你得到信息,至少不需要编写任何繁重的脚本。

    我从 Oracle7 开始就一直在做这种事情,并且总是不得不求助于复杂的脚本。

    【讨论】:

      猜你喜欢
      • 2015-08-08
      • 2017-06-08
      • 2013-04-03
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 2014-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多