SET @SQL2 =  'UPDATE [UDS_Task_gjd] SET bwl='''+@bwl+''' WHERE cpbh in (''' + @cpbhs + ''') '
EXEC (@SQL2)sql存储过程里,我这样写,当上句bwl字段为int型时,没问题,但改为varchar型时,就不能更新多条了,请问是什么状况啊
怎么解决呢?
谢谢哦
高手

解决方案 »

  1.   

    SET @SQL2 =  'UPDATE [UDS_Task_gjd] SET bwl='''+@bwl+''' WHERE cpbh in (''' + @cpbhs + ''') '应该是要VARCHAR的吧
      

  2.   

    SET @SQL2 =  'UPDATE [UDS_Task_gjd] SET bwl='+TLRIM(@bwl)+' WHERE cpbh in (''' + @cpbhs + ''') ' 
    为INT型要这样的吧
      

  3.   

    WHERE cpbh in (''' + @cpbhs + ''') ' 
    应该是你的条件这里出问题了
      

  4.   


    SET bwl='''+convert(varchar(20),@bwl)+''' 这样试试 。。
      

  5.   

    where bwl=''
    字符型是这样
    整型是 bwl=
    不用引号
    问题就在这里,5楼兄弟说到口子上了,条件应该用','分开,而不是,,整型才只需,