有一个表dong,xh和sh同时做主键.要把dong的数据插入到表xi里。但已经插入的记录不在重新插入了。

解决方案 »

  1.   

    试一下如下的语句看行否insert into xi select * from dong where ( xh not in ( select xh from xi) ) and ( sh not in (select sh from xi ) )
      

  2.   

    楼上的可能会有些缺陷,两个字段连起来比较
    两个字段
    insert into xi select * from dong where ( xh|sh not in ( select xh|sh from xi ) )
    |是字符串连接符,不同的数据库不一样,自己看着改吧
      

  3.   

    既然xh和sh同时做主键,那么xh和sh都可以标识一条记录,所以只用xh或sh来限定应该就可以了吧。
      

  4.   

    to janezjtjdx() 
    比如表dong有这样的记录
    xh    sh
    001   abc
    001   efg
    002   abc表xi有这样的记录
    xh    sh
    001   efg
    002   abc如果只用xh或sh来限定,怎么把表dong的第一条记录插到表xi呢?
    我之所以说一楼的有点缺陷,就是这样的情况下,也不能把表dong的第一条记录插到表xi