可以的
exec sp_executesql N'','@a int out',@a out

解决方案 »

  1.   

    可以 
      
     如 
      set @Str='Select @a=min(col1) from table '
      execute sp_executesql @Str,'@a int out', @a int
      

  2.   

    句例子declare @MyVar varchar(50)
    declare @MySQL nvarchar(50)select  @MySQL = 'select @MyVar=name from table1 where name=''aa'''exec sp_executesql @MySQL,N'@MyVar varchar(50) output',@MyVar output
    print @myvar
      

  3.   

    --可以,如取一个表的记录数:
    declare @tb varchar(50),@cnt int,@sql nvarchar(4000)
    set @sql='select @cnt=count(*) from '+@tb
    exec sp_executesql @sql,N'@cnt int output',@cnt output
    print @cnt
      

  4.   

    --示例
    declare @a int  --定义保存返回值的变量
    declare @sql nvarchar(4000) --定义要执行的sql语句的变量,注意变量类型
    set @sql='select @a=1'  --要动态执行的sql语句
    exec sp_executesql @sql
        ,N'@a int out'  --定义动态传递的参数
        ,@a out  --动态传递的参数列表
    select 结果=@a