网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.内嵌或嵌入SQL和存储过程之对比.
.如何在SQL Server中恢复数据.
.数据仓库工程师面试过程中经常遇.
.sql server 2005中新增加的try c.
.SQL中各数据类型的长度、精度 .
.用一个存储过程实现分步删除数据.
.学习SQL SERVER的存储过程-之一认.
.Sql Server2005登录失败.
.问题“未于信任SQL Server连接相.
.如何在 SQL Server 2005 中使用 .
.一個Select出一個表中第N條記錄的.
.SQL 存储过程&算法.
.怎样用SQL 2000 生成XML.
.讲解数据库及数据仓库建模方法的.
.导出表数据脚本的存储过程.
.讲解Informix安全特性保护数据的.
.分析及解决SQLServer死锁问题.
.依赖于其他表格的标准轻松在表格.
.Mssql批量修改权限.
.如何恢复系统数据库如何恢复系统.

数据库查询结果的动态排序(1)

发表日期:2001-11-14


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


一、用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查询——在这里是三个。
上一篇:正确配置和使用SQL mail 人气:11605
下一篇:数据库查询结果的动态排序(2) 人气:13224
浏览全部数据库查询结果的动态排序的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐