SQL Server 2005跨数据库查询的格式是:(select * from 数据库名.dbo.表名) 
已经知道了如何去掉dbo 得到select * from 数据库名..表名
请问,如何去掉".dbo "
得到以下格式:(select * from 数据库名.表名)

解决方案 »

  1.   

    为什么要去掉?规定的是 
    机器名.库名.架构名.表名
    或是
    库名.架构名.表名
    或是
    架构名.表名
    或是
    表名表名这样的写法。省dbo改为..只是因为当前操作者拥有的架构与被省的相同。 你要改成 库名.表名 是不被支持的。真的搞不明白你们整天哪来的这些乱七八早的要求。dos下打dir列出文件列表,我还想打个d就列出来呢,我自己又不想写bat, ms又不给我改dir命令的名字,我也没办法。
      

  2.   

    没办法
    我也觉得(select * from 数据库名..表名 )已经是很好了
    顶头的人要求那样,这样,他可以少做很多事情
      

  3.   

    上封下来死命令
    要写成这样
    select * from 数据库名.表名
      

  4.   

    --参考CN_SQL的建议,可以用同义词 处理,不过仍需在程序修改脚本。所以这种行为仍得不偿失。
    --同义词 处理如下(用MS自带数据库AdventureWorks举例):
    --1用数据库..表的方式查询
    select * from AdventureWorks..AWBuildVersion
    /*
    SystemInformationID Database Version VersionDate ModifiedDate
    1 9.04.10.13.00 2004-10-13 16:43:14.583 2004-10-13 16:43:14.597
    */--2给原有数据库表新建同义词 
    CREATE SYNONYM [AdventureWorks.AWBuildVersion]
    FOR AdventureWorks.dbo.AWBuildVersion;
    --命令已成功完成。--3
    select * from [AdventureWorks.AWBuildVersion]
    /*
    SystemInformationID Database Version VersionDate ModifiedDate
    1 9.04.10.13.00 2004-10-13 16:43:14.583 2004-10-13 16:43:14.597
    */