@A表   
  A             B
  01  小明   
  02  小红   
  03  小黑   
    
  B表   
  A             B   
  01   
  02   
  03   
    
  想将B表B字段更新为A表B字段,条件是:B表A字段=A表A字段。   
    Update   B   Set   B.B   =   @A.B     
  from   b   inner   join   @a   on   B.A   =   @A.A
A表是临时表,运行的时候报 必须声明变量 '@A'。
    
  请问应该怎么写呢? 
update之前的声明都写好的啊, select * from @a 都可以的谢谢

解决方案 »

  1.   

    这里是@a的声明的添加数据
    紧跟着后面这几句 (中间不要用GO)
    update b
    set b=a.b
    from @a a
    where a.a=b.a
      

  2.   

    Update  B  Set  B.B  =  @A.B    
    from  @a  where B.A  =  @A.A ?
      

  3.   

    DECLARE @A TABLE
    UPDATE B SET [email protected] FROM @A A JOIN B ON A.A=B.A?
      

  4.   

    update bset b=a.bfrom@a awhere a.a=b.a用这个就可以了。  必须给临时表弄个别名才不报错
      

  5.   

       Update  B  Set  B.B  =  t0.B    
      from  b  inner  join  @a t0  on  B.A  =  t0.A 这样也不报错了