首 页 网站运营 网络编程 网页制作 图象媒体 数据库 建站资源 网管专区 下载专区 最新资讯
IT学堂|红色黑客联盟
设为首页
加入收藏
联系站长
您所在的位置:首页>数据库>Mysql>文章内容
数据库查询结果的动态排序(1)
来源: 作者: 发布时间:2007-04-13

 在公共新闻组中,一个经常出现的问题是“怎样才能根据传递给存储过程的参数返回一个排序的输出?”。在一些高水平专家的帮助之下,我整理出了这个问题的几种解决方案。


一、用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查询——在这里是三个。



[推荐] [返回顶部] [打印本页] [关闭窗口]
热点文章
·用批处理对MySQL进行数据操作
·PHP中操作MySQL的一些要注意的问题
·实例讲解:.NET如何访问MySQL数据库
·让MySQL与ASP.NET配合更强大
·数据备份中可能出错的情况及解决办法
·SQL Server连接失败错误分析与排除(1)
·SQL Server连接失败错误分析与排除(2)
·扩展微软 SQL Server 的空间功能
·了解MYSQL数据库调度与锁定的问题
·实例讲解MySQL数据库的查询优化技术
相关文章
·数据库查询结果的动态排序(2)
·数据库查询结果的动态排序(3)
·SQL Server 7.0数据库的六种数据移动
·数据库查询结果的动态排序(4)
·正确配置和使用SQL mail
·数据库查询结果的动态排序(5)
·自定义用于ASP Web站点的SQL 7.0数据
·当SQL Server数据库崩溃时如何恢复?
·自定义用于ASP Web站点的SQL 7.0数据
·数据库查询结果的动态排序(6)
文章检索
Google
相关文章
·数据库查询结果的动态排
·数据库查询结果的动态排
·SQL Server 7.0数据库的
·数据库查询结果的动态排
·正确配置和使用SQL mail
·数据库查询结果的动态排
·自定义用于ASP Web站点
·当SQL Server数据库崩溃
·自定义用于ASP Web站点
·数据库查询结果的动态排
·使用SQL Server 将现有
·数据库管理员制胜之宝
·通过HTTP访问SQL Server
·如何提取除最新十条记录
·Oracle SQL语句优化技术