DECLARE
TYPE InteArrayTyp IS TABLE OF integer(20) INDEX BY BINARY_INTEGER;
v_1 InteArrayTyp;
k INTEGER :=0;
Temp INTEGER := 0;
cursor bb is SELECT SNO FROM STUDENT where SNAME = 'ldh';
BEGIN
open bb;
loop
fetch bb into v_1(k);
exit when bb%notfound;
dbms_output.put_line(v_1(k));
--对数组中的数据进行排序,这个总报找不到数据的错误。
IF (v_1(k-1)>=v_1(k)) then
TEMP:= V_1(k-1);
V_1(k-1):= V_1(k);
v_1(k):= v_1(k-1);
k := k+1;
End If;
end loop;
--把数组中的数据更新回原单元
/*这个还没有编写出来*/--输出游标活动的次数
dbms_output.put_line('The times of cursor to fetch ' || k);
close bb;
end;
/*定一个数组,然后用游标在数据库中取得数据单元,把数据单元赋值给数组,
然后对数组进行排序,然后再把这个数组更新到原来的单元显示出来
也就是数据库中的排序效果*/
TYPE InteArrayTyp IS TABLE OF integer(20) INDEX BY BINARY_INTEGER;
v_1 InteArrayTyp;
k INTEGER :=0;
Temp INTEGER := 0;
cursor bb is SELECT SNO FROM STUDENT where SNAME = 'ldh';
BEGIN
open bb;
loop
fetch bb into v_1(k);
exit when bb%notfound;
dbms_output.put_line(v_1(k));
--对数组中的数据进行排序,这个总报找不到数据的错误。
IF (v_1(k-1)>=v_1(k)) then
TEMP:= V_1(k-1);
V_1(k-1):= V_1(k);
v_1(k):= v_1(k-1);
k := k+1;
End If;
end loop;
--把数组中的数据更新回原单元
/*这个还没有编写出来*/--输出游标活动的次数
dbms_output.put_line('The times of cursor to fetch ' || k);
close bb;
end;
/*定一个数组,然后用游标在数据库中取得数据单元,把数据单元赋值给数组,
然后对数组进行排序,然后再把这个数组更新到原来的单元显示出来
也就是数据库中的排序效果*/
解决方案 »
- 查询大于和小于之间的数据
- oracle锁的问题
- 急救:sql2000的存储过程怎么转化到Oracle?
- ORACLE的storage属性问题
- 关于日期查询的sql(日期带分钟)才接触oracle不懂啊
- 怎样配置ORACLE 的DATA GUARD呀? 紧急求救,大量送分!
- 用PRO*C 做Oracle 数据库应用开发本地必须装 oracle 数据库服务器吗?
- 我在XP下装了个Oracle 9.0,但系统一启动就自动启动了Oracle,想让系统启动时,不启动Oracle,怎么办?
- Oracle,XML高手来取分
- 如何设置ORACLE字段命名的长度限制
- 求关于仓库入库、出库、库存明显的sql语句
- 检索慢,索引没用上,怎么办?老毛病了。哎。愁呀。。。。
==================================================================
Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
联系方式QQ:370140387
电子邮件:[email protected]
网站: http://www.inthirties.com