相关疑难解决方法(0)

表值函数 - 输出中忽略排序依据

我们正在从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,然后在主应用程序中调用它们时对它们进行排序或是否有一个简单的修复?

sql sql-server sql-order-by sql-server-2012

24
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql ×1

sql-order-by ×1

sql-server ×1

sql-server-2012 ×1