declare @str Nvarchar(1000)
set @str=N'select @count=count(*) from '+@table
exec sp_executesql @str,N' @Count int output',@Count outputif @count>0 
  return (1) 
else 
  return (0)

解决方案 »

  1.   

    set @str='select @count=count(*) from  '+ @table
    EXEC sp_executesql @str ,N'@count int output',@count outputif @count > 0
    return 1
    else
    return 0
      

  2.   

    如果declare @count int
    @str='select '+@count+'=count(*)from '+@table
    exec (@str) 要出错的动态执行sql 还是用sp_executesql
      

  3.   

    try:declare @a varchar(500)
    select @a = 'declare @aa int 
                 select @aa = count(*) from treeclass
                 print (@aa)'
    exec(@a)EXEC sp_executesql @str ,N'@count int output',@count output