大家好,情况是这样的,现在有两个SQL SERVER 的两个表,字段都是一样的,我需要定时的把表1的所有记录新增到表2中去啊,不知要怎样做比较好点呢?是不是要用定时器做啊?比如每2个小时新增一次,不知要怎样操作呢?谢谢

解决方案 »

  1.   

    1.可以定时insert into A select * from B where B.ID not in (select ID from A)//假如ID是主键,并且是非自增,这样可以保证添加的A表中没有的记录2.实时,即B表中添加一条记录后,直接将同一条记录插入到A表
      

  2.   


    //删除表中所有记录
    fdata.ADOQuery1.Close;
    fdata.ADOQuery1.Connection:=fdata.ADOConnection1;
    fdata.ADOQuery1.SQL.Clear;
    fdata.ADOQuery1.SQL.Add('delete from ['+dataname+']..'+tablename);//dataname为第二个库名,tablename为第二个库中的表名 
    fdata.ADOQuery1.ExecSQL;//将表中所有记录复制到另一个表中
    fdata.ADOQuery1.Close;
    fdata.ADOQuery1.Connection:=fdata.ADOConnection1;
    fdata.ADOQuery1.SQL.Clear;
    fdata.ADOQuery1.SQL.Add('select * into ['+dataname+']..'+tablename+' from '+tablename2);//dataname为第二个库名,tablename为第二个库中的表名,tablename2为第一个库的表名 
    fdata.ADOQuery1.ExecSQL;
    ADOConnection1连接第一个库
      

  3.   

    对于纯数据处理的业务(没有什么复杂的业务逻辑),我的建议为在数据库端处理即可!
    即DBMS的Job+存储过程(对于定时的、有规则性的TSQL,完全可以用存储过程来处理,因为存储过程执行一遍后,被预编译了)
      

  4.   


    可以在DB端用同步複製實現!SQL Server支持快照發佈,事物性發佈,合併發佈等幾種方式,可以滿足你的需求的。
      

  5.   

    来delphi版块 混点分
    ——php版块太难混了,挣个分不易