A数据库中有一个表CallBill,B数据库中也有一个表Test_CallBill
他们的数据库结构一致,
现在想从Test_CallBill中的数据追加记录到CallBill
CallBill的数据全部由Test_CallBill来的。就是说CallBill中有数据和Test_CallBill中的数据一样,只要求追加Test_CallBill的数据在CallBill中不存在的数据

解决方案 »

  1.   

    insert into Test_CallBill() select * from (select CallBill.* from CallBill a inner join Test_CallBill b on b.id=a.id where not in b.id (select id from Test_CallBill) )
      

  2.   

    INSERT INTO A:CallBill SELECT * FROM B:Test_CallBill
                            WHERE B:Test_CallBill.id NOT IN (SELECT id FROM A:CallBill)
    不知道这样行不行。
    我也遇到同样的问题,但是我都是先把A中的CallBill的KEY选出来,然后再从B中的Test_CallBill选出KEY,比较两个KEY值是否相同,不相同的就插入。
      

  3.   

    insert into callbill
    select *
    from test_callbill a
    where not exists
    (select id from callbill b where a.id=b.id)
      

  4.   

    insert into Test_CallBill() select * from (select * from  where  id not in (select id from Test_CallBill) )
      

  5.   

    insert into callbill
    select * from test_callbill
    where id not in(select id from callbill)
      

  6.   

    因为楼主在两个表中,所以简单的id no int显然是不行的,楼主应该找出能确定表的其它字段然后用not in查询
      

  7.   

    //******在webconfig配置两个连接数据库的地方//****将后在进行相应处理//*****写一个保存数据存储过程
    create proc proc_cellbill_insert
    (
       @id int,
       @name varchar(30),
       @tel varchar(40)
    )
    as
    begin
        --判断该记录是否存在,如果存在,则不进行添加操作
      
       SELECT * FROM TB_CELLBILL WHERE ID=@ID   IF(@@ROWCOUNT<=0)
       BEGIN
          INSERT INTO TB_CELLBILL(ID,NAME,TEL) VALUES(@ID,@NAME,@ITEL)
       ENDend
      

  8.   

    INSERT INTO [A].dbo.[CallBill] 
    SELECT * FROM [B].dbo.[Test_CallBill] 
    WHERE [B].dbo.[Test_CallBill].ID  NOT IN 
    (SELECT ID FROM [A].dbo.[CallBill])这样就搞定啦。
    谢谢大家哦。
    散分。