SET @SQL = @SQL + " and a.ass_unino =  "  + "''" +   @ass_unino + "''' ) AS A" --先指定参数值set @type = N'@ass_unino varchar(60)' --在此申明了变量的数据类型
set @value = N'JS-0026860' --在此赋值
exec sp_executesql  @SQL ,@type,@value

解决方案 »

  1.   

    声明变量的位置不对!
    例如;
    set @sql=....
    declare @i int
    set @sql=...
    exec sp_executesql  @SQL ,@type,@value
      

  2.   

    下面是我从你的程序中截得的!
    SET @SQL = @SQL + " and a.ass_unino = @ass_unino ') AS A " --在此想要使用参数替换功能
    select @SQL
    set @type = N'@ass_unino varchar(60)' --在此申明了变量的数据类型
    你在第一行就用到了@ass_unino !在下面第三行再声明类型当然有必须声明变量 '@ass_unino'的错误提示了!怎么解决你应该会的!OK~!