全部博文(409)
发布时间:2015-03-30 20:10:58
CREATE OR REPLACE PROCEDURE pro_emp (nu IN NUMBER) ISCURSOR cur_emp IS SELECT ename FROM (SELECT ename,row_number()over(ORDER BY sal DESC) rn FROM emp) t WHERE t.rn<=nu;BEGIN FOR i IN cur_emp LOOP dbms_output.put_line(i.ename); END LOOP;END;要求如下:sql>exec pro_emp(2); sql>have top 2.........【阅读全文】
发布时间:2013-07-09 20:48:19
?这里主要使用了存储过程的变量多次传递、替换,通过update语句,实现需求。其中关于存储过程的编写,一定要注意行尾的分号,通过pl/sql调试存储过程,可以看出来是哪个环节出了问题,一直按ctrl+n,查看程序执行步骤,是否符合自己写的顺序。最好加上exception模块。但是pl/sql调试存储,还有很多缺陷,如执行到相应的环节,不能输出相应的变量的值是多少。不如shell的功能,通过sh -x test.sh 可以仔细的看出程序的执行过程,还有变量的传递、是否传递成功。......【阅读全文】