Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 对于此错误,什么是好的解决方法?ORA-30926:无法在源表中获取一组稳定的行_Sql_Oracle - Fatal编程技术网

Sql 对于此错误,什么是好的解决方法?ORA-30926:无法在源表中获取一组稳定的行

Sql 对于此错误,什么是好的解决方法?ORA-30926:无法在源表中获取一组稳定的行,sql,oracle,Sql,Oracle,我目前正在尝试从本地数据库的“temp”表(interchange_data)运行合并,以便通过数据库链接将数据发送到“clone”表。运行合并时,我收到以下错误: ORA-30926:无法在源表中获得一组稳定的行 我知道这可能是因为我有重复的记录(根据我读到的内容),但我不确定如何在没有明确的行id的情况下删除重复的记录。我试着在其中添加一个明确的行id,看看这是否有帮助。如有任何建议/一般指示,将不胜感激。下面是我的合并代码: MERGE INTO db1.IN_DATA@ora Y USI

我目前正在尝试从本地数据库的“temp”表(interchange_data)运行合并,以便通过数据库链接将数据发送到“clone”表。运行合并时,我收到以下错误:

ORA-30926:无法在源表中获得一组稳定的行

我知道这可能是因为我有重复的记录(根据我读到的内容),但我不确定如何在没有明确的行id的情况下删除重复的记录。我试着在其中添加一个明确的行id,看看这是否有帮助。如有任何建议/一般指示,将不胜感激。下面是我的合并代码:

MERGE INTO db1.IN_DATA@ora Y
USING
    (SELECT DISTINCT FROM,
            TO,
          "DATE_",
          TIMESTAMP_, 
            VAL,
            LOCAL_TIMESTAMP,
            LAST_UPDATE
    FROM    IN_DATA
  ) X ON (
            Y.FROM = X.FROM
            AND Y.TO = X.TO
            AND Y.TIMESTAMP_ = X.TIMESTAMP_)
WHEN MATCHED THEN
    UPDATE 
      SET Y.VAL                = X.VAL,
       Y.LOCAL_TIMESTAMP = X.LOCAL_TIMESTAMP
    WHEN NOT MATCHED THEN 
        INSERT 
            (
          FROM,
          TO,
          DATE_,
          TIMESTAMP_,
          VAL,
          LOCAL_TIMESTAMP,
          LAST_UPDATE)
        VALUES   
         (X.FROM,
          X.TO,
          X.DATE_,
          X.TIMESTAMP_,
          X.VAL,
          X.LOCAL_TIMESTAMP,
          X.LAST_UPDATE);

由于选择的列多于仅用于匹配的列,DISTINCT子句不能保证匹配将产生唯一的匹配列


尝试在表
“in_DATA”
中的列
“FROM”
“to”
“TIMESTAMP”
上定义唯一索引或唯一约束,如果还没有这样的索引或约束或主键。

不是此问题的解决方案,但看起来您希望同步远程表。您可以尝试在目标中使用实体化视图。完成,抱歉。当我最初发布该标题时,UI不允许我在表中使用该标题(出于某些奇怪的原因)。
ALTER table table\u name ADD CONSTRAINT\u name UNIQUE(column1,column2,…column)