两张表,表A和表B,表B的字段obj引用了表A的id。表A有很多重复的记录,要求把表A的重复的记录删除留下一条,把表B中的obj引用表A的id,且被删除的,更新为表A留下的那条记录的id。请大家说说这个存储过程怎么写呢??

解决方案 »

  1.   

    表B中的obj引用表A的id,且被删除的,更新为表A留下的那条记录的id这个没搞明白前面看是很简单的逻辑,直接更新一下吧,可以把删除的数据先放到一个临时表里去
      

  2.   

    貌似也毕竟简单吧   表A中的id删除重复留一条  然后插入到表b就可以咯 
      

  3.   


    1,表A的重复记录删除
    2,update表B,条件为表B.obj not exists(表A的id)就可以了。但是楼主这里有个奇怪的问题:如果表A中的那些重复的记录id相同的话,那么表B还有更新的必要吗?
    而如果表A中重复的记录id不同的话,那么这个还算是重复的记录吗?或者,楼主是这个意思
    1,表A重复的记录删除,留下一条,这个时候,把所有删除的记录的id保存的变量idArray[]中
    2,update表B,条件为obj in idArray[],更新值为上面1留下的一条记录的id