我偶然发现了SQL Server 2005中的一些奇怪的T-SQL代码,我正试图了解它是如何工作的。
如果在两个单独的模式中有两个名为tblScenario的表,一个在Cache模式中,另一个在Dimension模式中。
当我们查询SELECT * FROM dbo.tblScenario时,我们期望找到什么? dbo如何以可靠和可预测的方式映射到其中一个模式?
由于某种原因,这实际上有效,但我们不知道为什么?
我们将修复它,因此它显式调用SELECT * FROM Dimension.tblScenario,但我很好奇。
谢谢,
菲利普
答案 0 :(得分:1)
OLTP检查...... 1)DBO.tblScenario是一个视图吗?
Othewise,这听起来像是在处理SQL Server Analysis Services(SSAS),它处理维度,模仿表格等。更多信息:http://technet.microsoft.com/en-us/library/cc966452.aspx
答案 1 :(得分:0)
如果您在Dimension架构中运行旧版本的查询,我希望它从Dimension架构返回数据,如果您在Cache架构中运行它我希望它从Cache架构返回数据,如果你从任何其他模式运行它我会期望它返回一个错误(类似于Chris Diver记录的错误)。