EXEC('select count(*) into @recordcount from '+@tablename)
EXEC('SELECT @COUNTS=COUNT(*) FROM '+@TABLENAME)

解决方案 »

  1.   

    declare @recordcount int
    declare @tablename   nvarchar(20)
    declare @sql         nvarchar(4000)set tablename = N'xxx'set @sql = N'select @recordcount = count(*) from '+@tablename
    exec sp_executesql @sql,N'@recordcount int output',@recordcount outputselect @recordcount
      

  2.   

    Declare @recordcount Int
    Declare @TableName Varchar(100)
    Declare @Sql  Nvarchar(4000)
    Set @TableName='' --输入要查询的表名
    Set @Sql=N'Select @recordcount=Count(*) from '+@TableName
    EXEC sp_executesql @Sql,N'@recordcount Int Output',@recordcount Output
    Select @recordcount
      

  3.   

    rfq(任凤泉)得方法我试过了,不行。另外,如果是在exec中执行'select * into #temp_table from '+@tablename,当中生成得临时表如何保存下来呢,现在我是一执行完临时表就不见了。