A库和B库的结构是否完全相同?它们是否是在在同一服务器?这些都要考虑。如果它们在同一服务器并且结构完全相同,你可以使用备份和恢复的方法,比配复制要简单的多,利用语句给A进行备份,并给B恢复(这种方法要求B的数据库没有客户在使用),然后将A的数据删除。否则,你就需要配复制了,复制配好之后进行同步,然后将复制删除掉。在把A需清空的表清空。

解决方案 »

  1.   

    declare cursor yourcursor for
    /*说明:yourcursor为你定义的游标名
        yourtable 为你定义的要接收每一个表名的变量
           Bdatabase和Adatabase分别表示B表所在数据库名称和A表所在数据库名称
      注意:这段代码不能直接执行,需要调试
    */
    SELECT Bdatabase.dbo.sysobjects.name 
         FROM Bdatabase.dbo.sysobjects 
         WHERE (xtype = 'u') ORDER BY name
    Fetch next from yourcursor 
    into yourtable
    while @@fetchstatus=0 
    begin
      insert Bdatabase.dbo.B 
      select * from Adatabase.dbo.A
      delete Adatabase.dbo.A
    end
      

  2.   

    别忘记在最后加上如下代码:
    close yourcursor
    deallocate yourcursor
    还就在Fetch...前加open yourcursor
    匆忙,呵呵...
    我可是想得分的哟!~^~