请大侠帮助小弟如何在pl/sql程序中调用?

delfa 2004-04-20 09:36:30
创建了如下的存储过程包体返回结果集
CREATE OR REPLACE PACKAGE PAC_Mycursor
AS
TYPE QUERY_CURSOR IS REF CURSOR;

PROCEDURE My_cur_out(
p_nsrsbh IN varchar2,
p_nd in varchar2,
p_yf in varchar2,
p_table in varchar2,
result1 out QUERY_CURSOR);
END PAC_Mycursor;
--------------------------------------------------------------------------
CREATE OR REPLACE PACKAGE BODY PAC_Mycursor
AS
PROCEDURE My_cur_out(
p_nsrsbh IN varchar2,
p_nd in varchar2,
p_yf in varchar2,
p_table in varchar2,
result1 out QUERY_CURSOR
)
AS
sqlstr VARCHAR2(1000);
BEGIN


sqlstr:='select t.*,t.sbrq,t.tbrq '|| p_table||'t where nsrsbh='''|| p_nsrsbh||''''||' and nd='|| p_nd ||' and yf='|| p_yf;
--DBMS_OUTPUT.PUT_LINE(sqlstr);
OPEN result1 FOR sqlstr;
--SELECT * from sb_zzs_ybns; --where area_id = An_area_id and serv_id > An_serv_id ;
--execute sql sqlstr;
--EXECUTE IMMEDIATE sqlstr;
END;

END PAC_Mycursor;
---------------------------------------------------------------------
请问如何在pl/sql中调用执行(如以上代码没有问题的话)?
请各位大侠不吝赐教,小弟不胜感激!(如嫌分数不够,可另外开贴追加)
...全文
16 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
legumer 2004-04-20
怎么调用啊,你是不是指执行呢。
exec PAC_Mycursor.My_cur_out(参数)
回复
delfa 2004-04-20
我的这个测试包是有几个输入参数,结果集从存储过程输出出来(最好能打印出来),那么请问各位大侠在pl/sql中的调用方式是怎么样?或者说怎么调用才能将结果打印出来?
回复
wwh207 2004-04-20
你是想测试这个包吗,那你就写一段pl/sql 程序调用不就可以了吗?
至于调用她的格式:packagename.procedurename(参数),
不知道你是不是这个意思。
回复
LGQDUCKY 2004-04-20
按照这个例子改下:
pl/sql怎么返回数据集?
CREATE OR REPLACE PACKAGE pkg_test
AS
TYPE myrctype IS REF CURSOR;

PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);
END pkg_test;
/

CREATE OR REPLACE PACKAGE BODY pkg_test
AS
PROCEDURE get (p_id NUMBER, p_rc OUT myrctype)
IS
sqlstr VARCHAR2 (500);
BEGIN
IF p_id = 0 THEN
OPEN p_rc FOR
SELECT ID, NAME
FROM student;
ELSE
sqlstr :=
'select id,name
from student where id=:w_id';
OPEN p_rc FOR sqlstr USING p_id;
END IF;
END get;
END pkg_test;
/
回复
snowy_howe 2004-04-20
不会嫌分不够,只会嫌你没把问题描述清楚。
这个代码你给出来了,然后你想怎么用?
请把你的思路说清楚,这样大家才好帮你。
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2004-04-20 09:36
社区公告
暂无公告