两张表 A,B
1.向A表插入数据时 先判断此条数据是否存在(根据username),不存在则插入
2.A表与B表关联 a.id=b.userid,判断A表插入的数据的id是否在B表中有对应的userid,如果有修改A表的id序列加1再去判断在B表中有对应的userid存在,直到没有对应的userid存在时就把A表的id存入B表因为要同时操作 如何能写成一条语句 

解决方案 »

  1.   

    http://blog.csdn.net/nsj820/article/details/5755685
      

  2.   

    第一个问题:
       insert into A
       select 对应A的列1,对应A的列2,...,对应A的列n from 数据源 b where not exists
       (select * from a where a.username = 对应A的列n)
      

  3.   

    第一个用merge into
    第二个貌似有并发问题,一但系统高并发起见,会有脏数据产生。而且第一个和第二个功能向左,不能写在一个SQL里面。
      

  4.   

    1,2不能写到一个sql中吧
    第一个可以用merge into实现