CREATE OR REPLACE PACKAGE PKG_JSJ_TJ --BODY PKG_JSJ_TJ 包名,可以自己定义
AS
TYPE my_cursor IS REF CURSOR;
--GET_gyjmx 为要调用的存储过程
PROCEDURE GET_gyjmx(nf In Varchar2 ,p_rc OUT my_cursor);
---下面还可以写多个要调用的存储过程
---PROCEDURE GET_gyjmx2(nf In Varchar2 ,....);
END PKG_JSJ_TJ;
包下面的 存储过程的通用写法:
下面是包的主体:
CREATE OR REPLACE PACKAGE BODY PKG_JSJ_TJ --BODY PKG_JSJ_TJ 包名,和上面的一样
AS
--sex 输入的参数,可以为多个。
--p_rc 输出的参数,接收的时候可以ResultSet接收一个结果集
--GET_gyjmx 存储过程名
PROCEDURE GET_gyjmx(v_sex In Varchar2 ,p_rc OUT my_cursor)
Is
Begin
OPEN p_rc For --开启这个游标
----下面是一些要做的事情
select id,name,sex from user_table where sex = v_sex;
----结束
End GET_gyjmx; --记得结束啊
-----------------可以写多个存储过程,复制上面的存储过程,改下名字,如:----------------------------
PROCEDURE GET_gyjmx2(var In Varchar2 ,p_rc OUT my_cursor)
Is
Begin
OPEN p_rc For --开启这个游标
----下面是一些要做的事情
---执行SQL
----结束
End GET_gyjmx2; --记得结束啊