【发布时间】:2013-03-14 15:09:15
【问题描述】:
我有两个完全相同的表t1 和t2,但t2 的数据比t1 多。
我正在使用此查询将缺失的数据从t2 插入到t1。
insert into t1
select * from t2
where not exist ( select * from t1
where t1.key1 = t2.key1
and t1.key2 = t2.key2)
运行此查询时,我得到:ORA-00001 Unique constraint (string.string) 违反错误。
这两个表有key1 和key2 作为键。
由于唯一的限制是两个键,我不明白为什么会出现该错误。
编辑:我现在在“索引”中注意到有 2 个约束都是唯一类型的。
第一个是:key1,random_column 第二个是:key2
很抱歉给您带来不便。
【问题讨论】:
-
唯一约束在哪一列?
-
它击中错误的键之一。我试图只使用错误消息弹出的 where 语句之一。但我得到了同样的错误信息。
标签: sql oracle plsqldeveloper