当前位置: 代码迷 >> Oracle开发 >> SQL语句异常
  详细解决方案

SQL语句异常

热度:127   发布时间:2016-04-24 07:59:29.0
SQL语句错误
假设表A得结构为A(   a,b,c,d   )表B得结构为B(a,c,d,e,f),并且(a,c)构成了A的主键;A表中的部分数据已经导入到B表
要求:将A表中未导入B表的数据继续导入;已经导入的不能再次执行,否则会造成(a,c)值有在表B中不唯一。

下面是我写的语句,有错误
Insert   into   B(   a,c,d   )   select   a,c,d   from   A   where   a!=B.a   or   c!=B.c

请教高手该怎么修改



------解决方案--------------------
Insert into B( a,c,d )
select a,c,d from A
where not exists
(select * from B where a!=A.a and c!=A.c)
------解决方案--------------------
Insert into B( a,c,d )
select a,c,d from A
where not exists
(select * from B where a=A.a and c=A.c)
------解决方案--------------------
tinayacao007的是对的,上面那个逻辑上错误了。
  相关解决方案