declare @sql nvarchar(1000),@id int
set @sql='select @row=count(*) from [table]'exec sp_executesql @sql,N'@row int output',@id output
select @id 结果

解决方案 »

  1.   

    declare @sql nvarchar(4000),@row int
    set @sql = 'Select @row=count(*) from table'
    exec sp_executesql @sql,N'@row int output',@row output
    select @row
      

  2.   

    http://expert.csdn.net/Expert/topic/2364/2364046.xml?temp=.829693
    [交流]动态SQL语句
      

  3.   

    declare @row int
    exec sp_executesql N'select @row=count(*) from table',N'@row int out',@row out
    --注意,第一个参数和第二个参数,必须是unicode类型的.所以字符串前加N
      

  4.   

    --如果你的字符串是组成的.就用:declare @sql nvarchar(4000)  --注意,一定要定义为unicode类型
    set @sql='N'select @row=count(*) from table'declare @row int
    exec sp_executesql @sql,N'@row int out',@row out
      

  5.   

    感谢各位,我补充一个问题,如果上述代码在存储过程中,想的到结果集(select * from table)应该怎么写
      

  6.   

    create table #临时表(结构和返回结构一样 int)insert #临时表 exec('..........')select * from #临时表