2014-10-20 40 views
3

我知道,在SQL语句中,xxx部分(例如xxx.TableName)引用数据表的模式。通常,大多数表格创建为dbo.TableName。在SQL代码中引用表格时,可以省略默认模式,您可以通过表格名称引用表格。同样,如果您需要在另一个数据库中引用表,则可以通过以下语法Database.dbo.TableName来引用它。'SELECT * FROM database..table'中的'..'是什么意思?

但是,我碰到另一个用户代码Database..TableName..代表什么?我可以假设一个合理的答案,但我找不到任何具体的文件。 (谷歌似乎不适用于双点文字。)

+0

道歉,如果这是一个重复。请提供链接,我会立即删除此问题。再一次,我试图搜索它,但双点文本不是很容易搜索。 – RLH 2014-10-20 18:08:06

+1

这是一篇[文章](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/11/bad-habits-to-kick-avoiding-the-schema-prefix.aspx)关于你为什么不应该不要离开。 – Zane 2014-10-20 18:13:58

回答

6

使用默认模式很简单。

select x from steve..mark是合乎逻辑的equivlant作为select x from steve.dbo.mark只要DBO是默认模式

three part naming convention for sql server

msdn FROM CLAUSE

+0

这就是我所设想的。你有这个参考吗? – RLH 2014-10-20 18:08:32

+0

此外,这是新的SQL Server的特定版本,还是已经存在了很长时间,大多数SQL开发人员通常不使用? – RLH 2014-10-20 18:09:28

+0

我敢肯定,我已经看到它使用所有的方式回到2005年或2008年。除论坛帖子,但我从来没有见过任何真正的文件 – valverij 2014-10-20 18:10:43

相关问题