“SELECT * FROM database..table” 中的“..”是什么意思?

4
我知道在SQL语句中,比如说xxx.TableName,其中的xxx部分表示数据表的模式。通常,大多数表都会被创建成dbo.TableName。在SQL代码中引用表时,默认模式可以省略,只需通过表名引用即可。同样地,如果需要引用另一个数据库中的表,则可以使用以下语法引用:Database.dbo.TableName
然而,我刚刚遇到了另一位用户的代码,其中出现了Database..TableName。这里的..代表什么意思呢?我可以猜出一个合理的答案,但是我找不到任何具体的文档(谷歌似乎对双点文本不起作用)。

如果这是一个重复的问题,请接受我们的道歉。请提供链接,我们将立即删除此问题。再次感谢您的努力搜索,但双点文本不太容易搜索。 - RLH
1
这里有一篇关于为什么你不应该省略模式前缀的文章 - Zane
1个回答

8

那是我假定的。你有相关的参考资料吗? - RLH
此外,这是针对特定版本的SQL Server的新功能,还是已经存在很长时间,只是大多数SQL开发人员没有使用过? - RLH
我非常确定我已经看到它被使用了,一直追溯到2005年或2008年。除了论坛帖子之外,我从未见过任何真正的文档记录它。 - valverij
我曾经看到过它,早在2005年。 - gh9
有趣,我已搜索了您提供的所有文档。 我可能只是看漏了,但我没有看到任何声称模式是可选的参考。 显然,它是可选的,但我想更多地了解这个主题。 也许有一些其他的速记选项我不知道。 - RLH

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接