0

我有一个需要从另一个数据库中的同一个表合并的表。

条件是复合主键中的一列是按顺序生成的,在另一个数据库中可能会有所不同。

在这种情况下,我们如何同步剩余的列?

前任。DB1:表:SRE_SERVICE_OPTION 列:(OPTION_SET_ID,OPTION_NAME,OPTION_VALUE,VALUE_ORDER)

DB2:表:SRE_SERVICE_OPTION 列:(OPTION_SET_ID,OPTION_NAME,OPTION_VALUE,VALUE_ORDER)

主键:OPTION_SET_ID、OPTION_NAME、VALUE_ORDER

我应该如何编写合并语句?

4

1 回答 1

0

您在分布式数据库中犯了经典错误。简而言之,通过使用两个单独的序列,您在表中的主键不一致。如果您的表在和上都是唯一的OPTION_NAME,您将只能使用 MERGE 。OPTION_VALUEVALUE_ORDER

您唯一的另一个希望是您的表不包含它们之间的任何重复信息。如果是这样,您可以简单地从一个插入另一个。

否则,你是,恐怕要倒霉了。我会重新设计您的数据库,这样就不可能将重复的信息发送到两个具有单独、不一致的代理键的不同表中。

于 2012-10-29T10:50:40.867 回答