Sql Oracle合并查询未更新

Sql Oracle合并查询未更新,sql,oracle,oracle11g,oracle10g,Sql,Oracle,Oracle11g,Oracle10g,我正在从不同的数据库读取数据并插入到oracle表中。我正在使用MERGE语句。第一次写得很好。如果我再次运行它,将插入新的数据集。示例:如果第一次插入50条记录,则会再插入50条相同的记录。这句话有什么不对 MERGE INTO MYTABLE dest USING (select ? as messageKey, ? as timestamp_, ? as deviceID from dual) src ON (dest.messageKey =src.messageKey and dest

我正在从不同的数据库读取数据并插入到oracle表中。我正在使用MERGE语句。第一次写得很好。如果我再次运行它,将插入新的数据集。示例:如果第一次插入50条记录,则会再插入50条相同的记录。这句话有什么不对

MERGE INTO MYTABLE dest
USING (select ? as messageKey, ? as timestamp_, ? as deviceID from dual) src
ON (dest.messageKey =src.messageKey and dest.timestamp_ =src.timestamp_ and dest.deviceID =src.deviceID )
WHEN NOT MATCHED THEN
INSERT (messageKey,appVersion, LEVEL_, deviceOS, appName, deviceOSversion, message, deviceID, appVersionCode,
pkg, appID, deviceModel, deviceBrand, timestamp_, method, line, file_,
stacktrace0, stacktrace1, stacktrace2, stacktrace3, stacktrace4, stacktrace5, stacktrace6, stacktrace7, stacktrace8, stacktrace9, stacktrace10, stacktrace11, stacktrace12, stacktrace13, stacktrace14, stacktrace15, stacktrace16)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);

我想,
timestamp\uuu
列可能是潜在的问题。您可以发布表结构、示例数据以及如何从java代码传递这些数据吗?