我正在使用SQL Server 2014管理工作室,我发现了一个奇怪的情况。 在SQL查询对话框中,我在下面的SQL关键字:在SQL Server 2014中为什么SELECT * FROM System_User不起作用,但SELECT * FROM [ProjectManage]。[dbo]。[System_User]工作
SELECT * FROM System_User
我可以看到在资源管理对话框中的表名是:dbo.System_User
后来,当我试着执行它时,它说有一些语法错误。
如果我更改SQL为:
SELECT * FROM [ProjectManage].[dbo].[System_User]
它工作得很好。
但实际上可以在同一个SQL查询对话框中,我有另外一个SQL:
SELECT * FROM FlowTemplateTransition
和表名是在资源管理对话框dbo.FlowTemplateTransition
。
我的问题是: dbo.FlowTemplateTransition
和FlowTemplateTransition
之间的区别是什么?
什么时候需要添加dbo,什么时候不需要? 我是否需要始终使用方括号? 谢谢
'dbo'位是*模式名称*,请参阅https://blog.sqlauthority.com/2009/09/07/sql-server-importance-of-database-schemas-in-sql-server/当需要使用模式名称时,您需要使用模式名称。 –