我正在尝试从本地数据库的“temp”表(交换数据)运行合并,以便通过数据库链接将数据发送到“clone”表。运行合并时,收到以下错误:
ORA-30926:无法在源表中获得稳定的行集
我知道这可能是因为我有重复的记录(基于我读到的内容),但我不确定如果没有一个不同的行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);