DECLARE @s VARCHAR(100)定义的太吝啬啦,老兄应该大一点 DECLARE @s VARCHAR(4000)

解决方案 »

  1.   

    你把DECLARE @s VARCHAR(100) 该一下就好了
    如下declare @s varchar(4000)
      

  2.   

    alter PROCEDURE dbo.psprSearchFee 
    (
            @sFeeCode VARCHAR(10),
            @sFeeDesc VARCHAR(100)
    )
    ASDECLARE @sCode VARCHAR(100)
    DECLARE @sDesp VARCHAR(100)
    DECLARE @s VARCHAR(1000)IF @sFeeCode = ''
         SET @sCode  = ''
    ELSE
         SET @sCode = ' AND sFeeCode LIKE ''' + @sFeeCode + '%'''IF @sFeeDesc= ''
         SET @sDesp = ''
    ELSE
         SET @sDesp = ' AND sFeeDesc LIKE ''' + @sFeeDesc + '%'''SET @s = 'SELECT * FROM tsprFeeSurchargeWaiver WHERE 1=1 AND bDeleted = 0  ' 
            +   @sCode + @sDesp + '  ORDER BY sFeeCode  '
    print @s   -----你可以测试一下发现@s的长度不够
    execute(@s)
    GO