日期:2011-05-02 15:21:00 来源:本站整理
数据库查询后果的动态排序(1)[MSSQL防范]
本文“数据库查询后果的动态排序(1)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在大众新闻组中,一个常常呈现的问题是"怎样才能按照传送给存储历程的参数返回一个排序的输出?".在一些高水平专家的帮忙之下,我整理出了这个问题的几种办理筹划.
1、用IF...ELSE履行预先编写好的查询
关于大大都人来说,首先想到的做法大概是:通过IF...ELSE语句,履行几个预先编写好的查询中的一个.比方,假定要从Northwind数据库查询得到一个货主(Shipper)的排序列表,发出调用的代码以存储历程参数的情势指定一个列,存储历程按照这个列排序输出后果.Listing 1显示了这种存储历程的一个大概的实现(GetSortedShippers存储历程).
【Listing 1: 用IF...ELSE履行多个预先编写好的查询中的一个】
CREATE PROC GetSortedShippers
@OrdSeq AS int
AS
IF @OrdSeq = 1
SELECT * FROM Shippers ORDER BY ShipperID
ELSE IF @OrdSeq = 2
SELECT * FROM Shippers ORDER BY CompanyName
ELSE IF @OrdSeq = 3
SELECT * FROM Shippers ORDER BY Phone
这种办法的长处是代码很简单、很简单理解,sql server的查询优化器可认为每一个SELECT查询成立一个查询优化筹划,确保代码具有最优的性能.这种办法最主要的缺陷是,假如查询的要求发生了改变,你必须改正多个独立的SELECT查询——在这里是三个. 以上是“数据库查询后果的动态排序(1)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论