加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 双点表限定符

发布时间:2020-12-12 16:23:21 所属栏目:MsSql教程 来源:网络整理
导读:我正在研究由外部供应商开发的新数据库模式.有两个数据库: Database1Database2 他们给我发了一个SQL语句,它连接两个数据库之间的表.有些地方他们使用了双重符号.我以前从未见过这个.请参阅下面的SQL语句(这不是他们发给我的声明): select * from database2.
我正在研究由外部供应商开发的新数据库模式.有两个数据库:
Database1
Database2

他们给我发了一个SQL语句,它连接两个数据库之间的表.有些地方他们使用了双重符号.我以前从未见过这个.请参阅下面的SQL语句(这不是他们发给我的声明):

select * from database2..Person

上面的语句是从database1运行的.为什么它有两个点?如果我删除其中一个点,则查询不会运行.

我做了一些谷歌搜索并遇到了这个:http://www.sqlservercentral.com/Forums/Topic585446-338-1.aspx.这表明它指的是架构.然而:

> sql语句中的模式为空,即两个点之间没有文本.
> Person表是database2中dbo架构的一部分.

解决方法

多亏了这个点,您的查询将选择默认架构(dbo).

当您有两个数据库时,需要提供表的完整路径.
如果我们有:
Database1架构:dbo,来宾表dbo.A,来宾:A
Database2架构:dbo,来宾表dbo.B,来宾:B

如果我们创建select语句,如:

select * from Database2..B

我们从dbo.B表中选择数据
如果我们想指定我们需要引用的模式

select * from Database2.schemaname.tablename

编辑:正如同事指出的那样,默认架构可以在数据库中更改,但是在这个特定的例子中它似乎是dbo

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读