dbo和[dbo]之间的区别

时间:2015-12-09 18:24:27

标签: sql sql-server

在查询中编写以下内容之间是否存在差异:

SELECT * FROM dbo.Product

与之相比:

SELECT * FROM [dbo].[Product]

一个人比另一个人更好还是没关系?

1 个答案:

答案 0 :(得分:7)

没有区别。括号的目的是处理具有可能使DBMS混淆的名称的db对象的情况,例如:名称中带有空格或以Trigger之类的保留字命名的对象(以及其他原因,如评论中所指出的)。

为了保持一致性,您可以围绕所有对象" (带有括号的dbo,表格和列等)。

SELECT [MyColumn] FROM [MyDatabaseName].[dbo].[My Table Name]

注意,我认为使用"非常规"命名您的对象名称,通常是不好的做法(有一些例外)。但显然,如果您只是针对您无法控制的现有模式编写查询,那么它就是它。