declare @strTableName Nvarchar(80),@n int,@str Nvarchar(4000)
set @strTableName=''
set @n=1
set @str=N'select @n=count(*) from '+ @strTableName//这样写法不对
exec sp_executesql @str,N'@N int output',@n output
select @n

解决方案 »

  1.   

    declare @strTableName varchar(80),@n int,@ss nvarchar(1000)
    set @strTableName='tbA'
    set @n=1
    set @ss='select @n=count(*)  from '+  @strTableName 
    exec sp_executesql  @ss ,N'@n int output',@n output
    select @n
      

  2.   

    declare @strTableName varchar(80),
       @n int,
       @sql varchar(200)
    set @strTableName='……'
    set @sql = 'select count(*) from ' + @strTableName
    set @n = exec(@sql)
      

  3.   

    exec命令可以,具体记不清了
    你查一查exec的用法
      

  4.   

    declare @strTableName varchar(80)
    set @strTableName=''--表名
    set @strTableName='declare @n int set @n=1 select @n=count(*) from ' + @strTableName +' select @n'--//这样写法不对
    execute(@strTableName)
      

  5.   

    CREATE PROCEDURE spClearTable
    @table_name varchar(255) ASexec('Delete From '+@table_name)
    GO
      

  6.   

    CREATE PROCEDURE spClearTable
    @table_name varchar(255) ASexec('select From '+@table_name)
      

  7.   

    --use pubs
    declare @strTableName varchar(80),@n int,@sql nvarchar(1000)
    set @strTableName='sales'
    set @n=1
    set @sql='select @n=count(*)  from '+  @strTableName 
    exec sp_executesql  @sql ,N'@n int output',@n output
    select @n
      

  8.   

    declare @strTableName varchar(80),@n int
    set @n=''
    select @n='count(*) from '+@strTableName
      

  9.   

    declare @strTableName varchar(80),@n varchar(80)
    set @n=''
    select @n='count(*) from '+@strTableName