declare @i int
DECLARE @SQLString NVARCHAR(500)
set @sqlstring=N'select @i = count(*) from '+@biao
execute sp_executesql 
          @sqlstring,
          N'@i int output',
  @i=@i output
select @i

解决方案 »

  1.   

    create table #t (i int)
    insert #t exec('select count(*) from a1')
    select * from #t
      

  2.   

    create table #t (i int)
    insert #t exec('select count(*) from '+@biao)
    select * from #t
      

  3.   

    第二种方法,只是把返回的记录数保存到临时表中,只是保存一个INT数值,不是把记录保存到临时表中。
      

  4.   

    啊,,,原来如此,,,,呵呵,,
    那我就用第二种方法吧,,相对简单多了,,不过我还想学会第一种方法,,请问N代表什么意思?为什么要加上N啊??还有sp_executesql 语句从没见到过,,,
    最后一个@i int output', @i=@i output中的output是什么意思啊?谢谢,谢谢.
    没人加答?那算了,,明天结贴~~~
      

  5.   

    N'蚂蚁'表明蚂蚁是Unicode 数据即:
    Unicode 常量使用 N 开头来指定:N'A Unicode string'。