网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.用SQL录入数据.
.Oracle客户端编程.
.应对RMAN-06026错误,使用dbms_b.
.Oracle 8 的函数介绍.
.Oracle数据库技术(38).
.转储控制文件头.
.如何在Spring中解决中文乱码的方.
.Oracle数据库备份与恢复之日志备.
.手工建库脚本.
.Oracle不同数据库间对比分析脚本.
.vsftpd-1.1.3配制实例之二:INTE.
.Oracle中细粒度访问控制的工作方.
.Oracle Application Serve.
.影响ORACLE汉字显示的字符集.
.Trustix Secure Linux简介.
.oralce在红旗linux上的简单安装.
.Oracle10g 移植到 Oracle ASM.
.Linux目录切换技巧.
.从EPROM引导Linux.
.查查oracle函数宝典,看看函数大.

用一个实例讲解如何正确使用数据库游标

发表日期:2008-4-9


在下面的示例中,表className中有如下分类:

具体示例:

classID className

1 衣服

2 裤子

5 帽子

10 鞋子

表productInfo有如下记录:

productID productName parentID clickNum

1 男士衣服 1 90 --衣服类别中这条记录的点击率最高

2 女士衣服 1 80

3 男士裤子 2 70

4 女士裤子 2 90

--裤子类别中这条记录点击率最高

5 男士帽子 5 15

6 女士帽子 5 30

帽子类别中这条点击率最高

7 男士鞋子 10 65

--鞋子类别中这条点击率最高

8 女士鞋子 10 52

9 女士鞋子1 10 54

现在我们要求分别把衣服,裤子,帽子,鞋子这些类别中点击率最高的一条记录找出来,然后再降序排列,结果如下:

productID productName clickNum

1 男士衣服 90

4 女士裤子 90

7 男士鞋子 65

6 女士帽子 30

实现方法:

declare @temp table

(

productID int,

productName nvarchar(30),

clickNum int

)

declare @classID int

declare cursor_classID cursor

for

select classID from dbo.className

open cursor_classID

fetch next from cursor_classID into @classID

--0 表示 FETCH 语句成功

while @@FETCH_STATUS=0

begin

insert into @temp

select top 1 productID,productName,clickNum from dbo.productInfo

where parentID = @classID

order by clickNum desc

fetch next from cursor_classID into @classID

end

close cursor_classID

deallocate cursor_classID

select * from @temp order by clickNum desc

上一篇:Oracel监听器启动后为什么会自动停掉 人气:950
下一篇:实例讲解如何通过Oracle成功发送邮件 人气:982
浏览全部Oracle的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐