declare @DataBaseName  varchar(50)
set @DataBaseName='DWRD0511';
--表名为:sex
如何返回 成 DWRD0511.dbo.sex

解决方案 »

  1.   

    set @DataBaseName='DWRD0511';
    你这里不能直接加????
      

  2.   


    declare @DataBaseName varchar(50)
    set @DataBaseName='DWRD0511';declare @TableName varchar(50)
    set @TableName='sex';select @DataBaseName+'.dbo.'+@TableName
    --DWRD0511.dbo.sex
      

  3.   

    把你要实现的功能都写出来,直接拼动态SQL语句
      

  4.   

    在一个数据库中查询另外一个数据库的表名。
    比如说在A数据库中查询B数据库中的table1表,本来是select * from B.dbo.table1.而我想让那个B当成变量来处理
      

  5.   


    declare @DataBaseName  varchar(50),@sql varchar(max);
    select @DataBaseName='DWRD0511',
    --表名为:sex
    @sql='select * from '+@DataBaseName+'..tbl_MetaData_Age';
    exec (@sql)像上面的动态执行sql语句是可以的,我不想用动态执行的,有其他的方式吗?
      

  6.   

    既然你表名是动态的,为什麽不动态拼SQL?