declare @TTable char(20)    --数据表
declare @TDatabase char(20)  --数据库
declare @SourceDatabase char(40)  
set @TTable='..DBtable'
set @TDatabase='DBData'
set @SourceDatabase=rtrim(ltrim(@TDatabase))+rtrim(ltrim(@TTable))
exec('select * from '+@SourceDatabase)

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/2364/2364046.xml?temp=.829693
    [交流]动态SQL语句
      

  2.   

    动态执行
    declare @TTable char(20)    --数据表
    declare @TDatabase char(20)  --数据库
    declare @SourceDatabase char(40)  
    set @TTable='..DBtable'
    set @TDatabase='DBData'
    set @SourceDatabase=rtrim(ltrim(@TDatabase))+rtrim(ltrim(@TTable))
    exec('select * from '+@SourceDatabase)
      

  3.   

    declare @TTable char(20)    --数据表
    declare @TDatabase char(20)  --数据库
    declare @SourceDatabase char(40)  
    set @TTable='..DBtable'
    set @TDatabase='DBData'
    set @SourceDatabase=rtrim(ltrim(@TDatabase))+rtrim(ltrim(@TTable))
    exec('select * from '+@SourceDatabase)
      

  4.   

    一定要使用动态SQL,以表名,和数据库名做参数在普通SELECT里是行不通的!
      

  5.   

    exec('select * from '+@SourceDatabase)