我继承了一个在本周末工作正常的网站。 DB是MSSQL,症状是查询返回的记录集不再有意义。我检查了表格,数据就在那里。经过调查,我意识到即使使用TOP,ORDER BY子句也不会在所有视图上执行。一切都运转良好。发生了什么事?
答案 0 :(得分:0)
简短的回答是,您无法按设计对视图进行排序。视图不负责显示您的数据。他们没有任何数据 现在回答你发生了什么的问题? Microsoft允许使用TOP和ORDER BY在旧版MSSQL中工作,而其他DBMS没有。对于较新的版本,我打赌这是周末发生的事情 - 他们升级了你的服务器,这已不再可能。
以下是专家提供的更多信息 https://dba.stackexchange.com/questions/21434/why-does-order-by-not-belong-in-a-view
要解决此问题,您必须将ORDER BY子句移出视图并在查询中使用它。