改成这样:declare   @s  nvarchar(1000)
declare @m1 varchar(100)
declare @m2 varchar (10)
set @s=''
set @m1=''
set @m2='t001'
set @s='select  top  1  @m1=f1  from  test where f2='''+@m2+''''
exec sp_executesql @s,N'@m1 varchar(100) output,@m2 varchar (10)',@m1 output,@m2