当我在SQL Server2005中创建一个视图,然后有人在GUI修改模式中打开它时,它有时会完全重新排列我的联接。通常情况下,它实际上不再具有可读性。如果我在GUI中查看它,它与我最初编写的内容相比也发生了变化。有时连接线甚至不再指向字段,连接符号有"fx“。我假设它已经为我“优化”了它。有没有办法防止这种情况发生?"fx“是什么意思?
最初是这样的:
FROM dbo.Stop LEFT OUTER JOIN dbo.StopType ON dbo.Stop.StopTypeID = dbo.StopType.StopTypeID LEFT OUTER JOIN dbo.CityState ON dbo.Stop.City = dbo.CityState.City dbo.Stop dbo.Stop.State = dbo.CityState.State LEFT OUTER JOIN dbo.vwDrivers ON dbo.Stop.DriverID = dbo.vwDrivers.DriverID LEFT OUTER JOIN dbo.truck ON dbo。Truck.TruckID = dbo.Stop.TruckID内部联接dbo.vwTicketIDFirstStopLastStop ON dbo.vwTicketIDFirstStopLastStop.TicketID = dbo.stop.ticketid左外部联接dbo.Company ON dbo.Company.CompanyID =dbo.Company.CompanyID
现在是这样的。
FROM dbo.Truck RIGHT OUTER JOIN dbo.Stop INNER JOIN dbo.StopType ON dbo.Stop.StopTypeID = dbo.StopType.StopTypeID LEFT OUTER JOIN dbo.CityState ON dbo.Stop.City = dbo.CityState.City dbo.Stop dbo.Stop.State = dbo.CityState.State LEFT OUTER JOIN dbo.vwDrivers ON dbo.Stop.DriverID =dbo。vwDrivers.DriverID ON dbo.Truck.TruckID = dbo.Stop.TruckID LEFT OUTER JOIN dbo.vwTicketIDFirstStopLastStop LEFT OUTER JOIN dbo.Company ON dbo.Company.CompanyID = dbo.vwTicketIDFirstStopLastStop.BillToCompanyID ON dbo.vwTicketIDFirstStopLastStop.TicketID = dbostop.ticketid
发布于 2008-11-04 23:38:09
不你不能。这就是为什么你永远不应该使用它。
"Fx“意味着连接不是简单的列到列的链接,而是涉及一个函数(当然,这也是它不能指向字段的原因)。然而,它本身不应该这样做,
发布于 2008-11-05 12:50:13
我讨厌视图GUI
我使用RightClick->ScriptViewAs->Alter To->New Query Editor窗口
好多了:)
发布于 2008-11-04 23:39:31
它是视图GUI将SQL解析为它自己的内部DOM样式格式,然后将其写回的结果-与HTML编辑器接收XHTML并以不同于您希望的方式发出内容的方式非常相似:(
https://stackoverflow.com/questions/262581
复制相似问题