declare @sql varchar(8000)
declare @tablename varchar(12)
set @tablename='a'
set @sql='select * from  '
set @sql=@sql+@tablename
exec(@sql)
go

解决方案 »

  1.   

    --不能直接用,用exec就可以了
    declare @tbname sysname
    set @tbname='syscolumns'
    exec('select * from '+@tbname)
      

  2.   

    declare @table_name sysname,@sql nvarchar(4000)
    select @table_name='vt_user'
    select @sql='select * from '+@table_name
    execute sp_executesql @sql
      

  3.   


    declare @table_name sysname,@sql nvarchar(4000)
    select @table_name='vt_user'  /*写入表名字*/
    select @sql='select * from '+@table_name
    execute sp_executesql @sql