【发布时间】:2010-07-22 03:29:39
【问题描述】:
我在 SQL Server 2005 中偶然发现了一些奇怪的 T-SQL 代码,我试图了解它是如何工作的。
如果在两个单独的架构中有两个名为 tblScenario 的表,一个在 Cache 架构中,另一个在 Dimension 架构中。
当我们查询 SELECT * FROM dbo.tblScenario 时,我们期望找到什么? dbo 如何以可靠且可预测的方式映射到这些架构之一?
出于某种原因,这确实有效,但我们不知道为什么?
我们将修复它,使其显式调用 SELECT * FROM Dimension.tblScenario,但我很好奇。
谢谢,
菲利普
【问题讨论】:
-
我会认为它不起作用,dbo 是一个模式,但它也是一个用户。 dbo 用户是否拥有它选择的架构? - 编辑我刚刚测试过这个(在 SQL 2008 中),我得到了一个“无效的对象名称”错误。
标签: sql-server tsql