我用delphi写了个程序,其中有一个模块周期性的做这样的事情:
先把数据存到表A中,隔几分钟后把表A中的数据悉数插入到表B中,同时清空表A。
请教如何实现?谢谢!

解决方案 »

  1.   

    INSERT INTO TABLEASELECT FIELDA,FIELDB FROM TABLEB WHERE CONDITION>0 AND .....
      

  2.   

    insert into b (field )
    select field from a  --where 条件delete from a    --where 条件
      

  3.   

    --不知道是不是这个意思create table c([id] int)
    create table a([id] int)
    create table b([id] int)
    gobegin
    insert into c select 1
    insert into c select 2
    insert into c select 3
    insert into a select * from c
    endbegin
     waitfor delay '00:00:20'
     insert into b select * from a
    end 
    godelete a
    goselect * from a
    select * from b
    select * from cdrop table a
    drop table b
    drop table c
      

  4.   

    周期性的做,那你就可以在SQL里做成定时作业就可以了,不一定用程序实现。
    1.A表插入B  insert A (Filed1,Field2...) select (field1,field2...)
    2.删除A truncate table B
      

  5.   

    insert into b (field )
    select field from a  
    delete from a    
      

  6.   

    先建立一存儲過程:
    create proc sp_job
    as 
    insert into tableb(field 1,field2,....)
    select field 1,field2,.... from tableA
    delete from tableA再建立一job執行sp_job,Schedule安排每幾分鐘執行一次
      

  7.   

    很好办 阿 如果你的A和B的表结构完全相同的话
     那么直接可以用 定时器 开始计时到了一定的时间
      insert into B select * from A 
      delete from A
       就可以了阿  不必写什么存储过程的阿
      

  8.   

    如果你不想 自己重新重新创建一个新表B和A具有相同的字段
    可以用下面的语句  insert into [tablename] from [source table] where 1=1
    每当执行此操作的时候就会创建一个新的名为tablename的表。因此不能和现有的表名重合