加了会语法错误的,
你这样看这条语句  就会感觉 没错的
select @tsql=N'update TableNumble set ziduan='  ''+@maxNo+''  ' where flag='  ''+@biaoshi+''

解决方案 »

  1.   


    select @tsql=N'update  set ziduan='+@maxNo+' where flag='+@biaoshi+''20行这句写的有问题!
      

  2.   

    where flag='''+@biaoshi+''
    应该改成 where flag='''+@biaoshi+''''
    后面四个单引号
      

  3.   

    你这样写出来的语句会报set错误:update TableNumble set ziduan=SP_20140331_0001 where flag=SP  
      

  4.   

    动态语句只会检查动态语句的语法,至于你exec  @tsql ,这个@tsql内部的语法是不会检测的。但是你执行 不会得到结果,这个也是动态sql 的缺陷之一(难调试),你可以改成下面这样:
    select @tsql=N'update TableNumble set ziduan='''+@maxNo+''' where flag='''+@biaoshi+''‘’