oracle - package
包是一组相关储存过程,函数,游标,自定义类型和变量等PL/SQL程序设计元素的组合。包具有面向对象设计的特点,是对这些PL/SQL程序设计元素的封装。一个包由两个分开的部分组成:
(1)包package声明或定义:包定义部分是创建包的规范说明,声明包内数据类型、变量、常量、游标等元素。这部分也是为使用者提供了透明的接口。
(2)包体packpage body:包体是包定义部分的具体实现。
声明或定义:
View Code
1 create or replace Package FirstPage is 2 3 -- Author : MECON 4 -- Created : 2006-7-20 上午 09:34:44 5 -- Purpose : 用来处理首页各个模块的显示情况 6 7 -- Public type declarations 8 type outlist is REF CURSOR; 9 10 --高中 11 Procedure getSeniorHighSchool( 12 maxrow in number, 13 minrow in number, 14 return_list out outlist 15 ); 16 17 //可以定义其他 18 end FirstPage;
包体 :
View Code
1 create or replace Package body FirstPage is 2 3 --高中 4 Procedure getSeniorHighSchool( 5 maxrow in number, 6 minrow in number, 7 return_list out outlist 8 )as 9 10 begin 11 12 open return_list 13 14 for 15 16 select * from (select a.*,rownum rnum from ( 17 18 //业务语句 19 20 21 ) a where rownum<=maxrow) where rnum >=minrow; 22 23 end; 24 25 //抒写其他过程 26 27 end FirstPage;
jdbc调用:
View Code
1 CallableStatement cs = null; 2 String sqlStr = "{call firstpage.getSeniorHighSchool(?,?,?)}"; 3 cs = conn.prepareCall(sql); 4 cs.setInt(1,maxrow); 5 cs.setInt(2,minrow); 6 cs.registerOutParameter(3,Oracle.jdbc.OracleTypes.CURSOR); 7 cs.execute(); 8 rs = (ResultSet)cs.getObject(3);
一步一个脚印,方便自己复习,欢迎大家指正,非常感谢,共同进步!
posted on 2012-05-21 12:15 lovebeauty 阅读(307) 评论(0) 编辑 收藏 举报