现在的位置: 首页 > 综合 > 正文

oracle – package

2012年09月09日 ⁄ 综合 ⁄ 共 1077字 ⁄ 字号 评论关闭
包是一组相关储存过程,函数,游标,自定义类型和变量等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);

 

 

【上篇】
【下篇】

抱歉!评论已关闭.