declare @i int
exec @i=sp_executesql
是这样吧

解决方案 »

  1.   

    declare @aaaa varchar (200)
    set @aaaa=17,23
    Select Count(DocID) From InfoSysDocument Where DocType=0 And DelFlag In (0,4) ANd Treecode In (@aaaa)以下能运行就可以,表名和字段都可以任意:
    现在报错,我不知道怎么写如果用sp_executesql怎么得到返回值赋给变量
      

  2.   

    declare @aaaa varchar (200)
    set @aaaa='17,23'
    exec('Select Count(DocID) From InfoSysDocument Where DocType=0 And DelFlag In (0,4) ANd Treecode In ('''+@aaaa+''')'
      

  3.   

    --sp_executesql
    declare @sql nvarchar(4000)
    declare @i int
    set @sql='select @i=count(*) from sysobjects'
    exec sp_executesql @sql,N'@i int output',@i output
    print @i
      

  4.   

    declare @aaaa varchar (200)
    set @aaaa='17,23'
    exec('Select Count(DocID) From InfoSysDocument Where DocType=0 And DelFlag In (0,4) ANd convert(int,Treecode) In ('+@aaaa+')'