问题描述
- oracle中游标的使用方法
-
使用下面的SQL语句创建一个临时表top_dogs,用于保存雇员的姓名和工资。
CREATE TABLE top_dogs
( name VARCHAR2(25),
salary NUMBER(11,2));
【要求】创建一PL/SQL块,检索出工资水平在前几名的雇员的姓名及工资(如果有多名雇员工资相同的情况,则每一个雇员都占n名中的一个名额,即最后只输出n个人)。
(1)通过SQL*Plus替代变量读取要检索的雇员人数n。
(2)通过循环,从EMP表中获取前n名的雇员的姓名及工资。(提示:rownum获得当前行行号)
(3)将检索出的雇员姓名和工资写入TOP_DOGS表。
(4)测试特殊情况,例如n=0或者n大于雇员总数。每次向TOP_DOGS写入数据前清空该表。
求教!!!
解决方案
http://blog.csdn.net/liyong199012/article/details/8948952
解决方案二:
游标被用的最多的是在存储过程中执行批量修改或是批量删除操作,比如删除一条主表记录之后,可以执行一个存储过程删除该记录对应的明细记录。?或者修改某张表的某个数据后反写另一张表的数据。这在ERP软件开发中是经常用到的,例如出库单实提之后要反写合同上的实提重量等等,这也要靠好的数据库设计来支持。
下面是一个ORACLE中在存储过程中使用游标的方法:
??&nb......
答案就在这里:ORACLE中游标的使用方法
解决方案三:
select * from top_dogs
where rownum <= n
时间: 2024-09-05 11:02:49