SQL Server 2005跨数据库查询问题

mateng1987 2009-02-02 03:53:28
SQL Server 2005跨数据库查询的格式是:(select * from 数据库名.dbo.表名)
已经知道了如何去掉dbo 得到select * from 数据库名..表名
请问,如何去掉".dbo "
得到以下格式:(select * from 数据库名.表名)
...全文
218 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mateng1987 2009-02-03
  • 打赏
  • 举报
回复
可有多了中括弧“[]
需要改动
claro 2009-02-03
  • 打赏
  • 举报
回复
--参考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
*/
jiujiang88 2009-02-02
  • 打赏
  • 举报
回复
何必嘛,就这么三个字母用得着你多久时间哦,硬是没事找事。
claro 2009-02-02
  • 打赏
  • 举报
回复
帮顶。
mateng1987 2009-02-02
  • 打赏
  • 举报
回复
上封下来死命令
要写成这样
select * from 数据库名.表名
fcuandy 2009-02-02
  • 打赏
  • 举报
回复
不过,为了写法简便的话你可以考滤用同义词. 但也不是他要求的那样。
fcuandy 2009-02-02
  • 打赏
  • 举报
回复
不懂技术乱指挥,让他自己去写
mateng1987 2009-02-02
  • 打赏
  • 举报
回复
没办法
我也觉得(select * from 数据库名..表名 )已经是很好了
顶头的人要求那样,这样,他可以少做很多事情
水族杰纶 2009-02-02
  • 打赏
  • 举报
回复
...
fcuandy 2009-02-02
  • 打赏
  • 举报
回复
为什么要去掉?

规定的是
机器名.库名.架构名.表名
或是
库名.架构名.表名
或是
架构名.表名
或是
表名

表名这样的写法。

省dbo改为..只是因为当前操作者拥有的架构与被省的相同。 你要改成 库名.表名 是不被支持的。

真的搞不明白你们整天哪来的这些乱七八早的要求。

dos下打dir列出文件列表,我还想打个d就列出来呢,我自己又不想写bat, ms又不给我改dir命令的名字,我也没办法。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧