--不太明白什么意思
UPDATE B
SET ... from A,B where 条件 and A.S1=@S1?

解决方案 »

  1.   

    就是类似插入的语句
    因为A表和B表的结构一样,所以不想取出每个值
    求一句类似下面的语句
    UPDATE B
    SET * FROM A WHERE S1=@S1
      

  2.   

    你B表是空的还是有部分内容或是全部内容?A表和B表主键是什么?
      

  3.   

    A表和B表的主键是S1,B表中有内容,并且A表中的S1在B表中都存在
    我的意思就是当A表更新了以后,因为A表和B表的结构和内容都一样
    所以就想把A表批量更新到B表中
      

  4.   

    update B set B.字段=A.字段 from A,B where B.S1=A.S1
      

  5.   

    只能这样了~
    update B set B.字段=A.字段 from A,B where B.S1=A.S1
      

  6.   

    难道不能省了<B.字段=A.字段>吗?
    表里有几十个字段啊~~~~~~
      

  7.   

    我用A表中的S1字段做游标循环,因为A表和B表的结构是一样的,
    如果B表中没有A表中的S1则插入条记录,如果存在则更新记录,就是这样的啊
    插入是很简单
    INSERT B 
    SELECT * FROM A WHERE S1= @S1
    可是更新的话要
    UPDATE B
    SET B.字段1=A.字段1,B.字段2=A.字段2,.....,B.字段N=A.字段N
    WHERE B.S1=@S1 AND A.S1=@S1
    这样要把A和B表中的所有字段关联下,好麻烦,有没有简便点的方法呢?
      

  8.   

    看看http://community.csdn.net/Expert/topic/4720/4720094.xml?temp=.4007074
    对你有帮助马
      

  9.   

    那就索性先删再加
    DELETE  FROM B
    WHERE S1= @S1INSERT B 
    SELECT * FROM A WHERE S1= @S1