直接在两个表之间写数据不就行了么?update a set re = b.re 
from T_TB a,T_TA b
where a.id=b.id

解决方案 »

  1.   


    或者这样Update B Set B.re=A.re from T_TB B Inner Join T_TA A On B.id=A.id
      

  2.   

    update a set re = b.re from T_TB a,T_TA b where a.id=b.id
      

  3.   

    declare @s nvarchar(50)
    set @s='Mike''s computer' 
    exec('Update T_TB set re = '''+@s+''' where id = 3')
      

  4.   

    我是用程序从表里面取出来的,不是直接的SQL操作,源表是通过筛选过后取出.而且各位上述的办法,也解决不了执行Insert的情况.
    我的意思是如果使SQL语句中单引号被SQL解释为一个字符.如果我在用户界面上的一个录入
    框写入 Mike's computer 用Update  或Insert 如果能够生效,当然,程序不作任何处理,由SQL来解决.
      

  5.   

    sql中能处理的前提是你提交正确的sql语句,如果你不在程序中处理的话,sql语句根本就没到sql服务器,自然无法用sql处理.
      

  6.   

    Update T_TB set re = 'Mike''s computer' where id = 3 
    --建立測試環境
    create table T_TB (re varchar(50))
    insert into T_TB
    select 'Mike'+''''+'s computer' 
    --測試
    update T_TB set re= replace(re ,'''','''''')
    --刪除測試環境
    drop table T_TB
      

  7.   

    那如果在SQL执行之前,将SQL语句完成化呢?
    如果用Replace,怎样来区分单引号在SQL语句中是属于字任串的开始与结束的标志还是单纯的一个字符.
    如 
      Update T_TB set re = 'Mike's computer' where id = 3
    replace 之后不就成了
      Update T_TB set re = ''Mike''s computer'' where id = 3