--删除A中的纪录
delete from A where ......--插入B中记录
insert A
select * from A where .....

解决方案 »

  1.   

    update ... set ... from ...不知道你的表结构和具体需求是怎么样的.
    一般会说,会有一个连接关键字.你按上面的改一下就可以了.或者说,你把问题再说具体一点.肯定有大把人帮你解决.
      

  2.   

    我曾经用过这种方法,但是因为我现在A表里面有一个字段作了外键,因此不能删除,所以我想问一下有没有跟“insert A select * from A where .....”类似的语句阿
      

  3.   

    我的意思如下:
    表A中有a、b、c三个字段,表B的结构跟A完全一样
    A:
      a     b      c
    -------------------
      1     2      2B:
      a     b      c
    -------------------
      1     3      3我现在要更新A中a = 1的记录,而更新的内容跟B中a = 1的记录完全相同
      

  4.   

    update a set a.b=b.b,a.c=b.c where a.a=b.a
      

  5.   

    "update a set a.b=b.b,a.c=b.c where a.a=b.a"这句我也知道,因为我的表中有四十多列,所以不想一个一个去赋值,不知道有没有简单的方法
      

  6.   

    --写错了 FT
    update a set a.b=b.b,a.c=b.c 
      from a 
      inner join b 
    on a.a=b.a
      

  7.   

    那可不可以用

      update a set a.*=b.* 
      from a 
      inner join b 
    on a.a=b.a”
      

  8.   

    update b set b.a=a.a,b.b=a.b,b.c=a.c from a,b where a.a=b.a
      

  9.   

    select * into #A from A inner join B on A.a=B.a
    delete from B where B.a in (select a from #A)
    insert into A select * from #A
    Drop table #A
      

  10.   

    declare @sql nvarchar(1024)set @sql=''select @sql=@sql+'a.'+syscolumns.name+'=b.'+syscolumns.name+',' from
    syscolumns inner join sysobjects
    on syscolumns.id=sysobjects.id
    where sysobjects.name='AconxNews'set @sql=substring(@sql,1,len(@sql)-1)
    set @sql='update a set '+@sql+' from a inner join b on a.a=b.a'exec @sql
      

  11.   

    错了
    正确的是declare @sql nvarchar(1024)set @sql=''select @sql=@sql+'a.'+syscolumns.name+'=b.'+syscolumns.name+',' from
    syscolumns inner join sysobjects
    on syscolumns.id=sysobjects.id
    where sysobjects.name='a'set @sql=substring(@sql,1,len(@sql)-1)
    set @sql='update a set '+@sql+' from a inner join b on a.a=b.a'exec @sql这个语句条件就是a表中的列名必须完全等于b表中的列名
      

  12.   

    使用动态语句是对的.declare @sql nvarchar(1024)
    set @sql=''
    select @sql=@sql+'a.'+syscolumns.name+'=b.'+syscolumns.name+',' from
    syscolumns inner join sysobjects
    on syscolumns.id=sysobjects.id
    where sysobjects.name='a'set @sql=substring(@sql,1,len(@sql)-1)
    set @sql='update a set '+@sql+' from a inner join b on a.a=b.a'exec @sql