我们正在从SQL Server 2008迁移到SQL Server 2012,并立即注意到我们所有的表值函数都不再以正确排序的顺序提供临时表内容.
码:
INSERT INTO @Customer
SELECT Customer_ID, Name,
CASE
WHEN Expiry_Date < GETDATE() then 1
WHEN Expired = 1 then 1
ELSE 0
END
from Customer **order by Name**
Run Code Online (Sandbox Code Playgroud)
在SQL Server 2008中,此函数返回按名称排序的客户.在SQL Server 2012中,它返回未排序的表.在"排序依据" 2012年SQL被忽略.
我们是否必须重新编写所有函数以包含a sort_id,然后在主应用程序中调用它们时对它们进行排序或是否有一个简单的修复?