永发信息网

oracle怎样用游标调用存储过程

答案:2  悬赏:10  手机版
解决时间 2021-04-07 20:33
能不能举一个简单的实例让我看看
执行一个存储过程pro_0调用游标custom_1调用存储过程叫pro_1
如果我的提问有概念模糊或者不正确,那一般是怎么使用游标和存储过程呢?就是用游标调用存储过程
希望有实例注释,谢谢!
最佳答案
这个需要用程序包package来做。在包头里定义入参为游标
create or replace 
PACKAGE pro_test
AS
TYPE CURSOR_PAGE IS REF CURSOR;
  PROCEDURE insert_one_teacher(     
      p_1 IN CURSOR_PAGE);
END;
后面包体就不列了。
全部回答
不知道你那里。 是不是可以把那个    存储过程 (参数是游标)的。 修改为  函数, 返回游标。 如果可以修改的话, 那么你参考一下  下面这个例子代码 -- 测试表数据。 select * from test_main;         id value ---------- --------------------          1 one          3 three          2 two-- 返回结果集的函数. create or replace function get_test_main_all return sys_refcursor is   return_cursor sys_refcursor; begin   open return_cursor for 'select * from test_main';   return return_cursor; end; / -- 普通的查询,来查看结果. select get_test_main_all() from dual; get_test_main_all() -------------------- cursor statement : 1 cursor statement : 1         id value ---------- --------------------          1 one          3 three          2 two -- 存储过程调用, 来获取结果. declare    -- 调用函数的返回值.   testcursor sys_refcursor;   -- 存储单行数据.   testrec  test_main%rowtype; begin   -- 调用返回结果集的函数.   testcursor := get_test_main_all();   -- 循环,遍历结果.   loop     -- 游标向前.     fetch testcursor into testrec;     -- 无数据的情况下,退出循环. exit when testcursor%notfound;     -- 输出调试信息.     dbms_output.put_line( to_char(testrec.id) || ' ' || testrec.value);   end loop; end; / 1 one 3 three 2 two pl/sql 过程已成功完成。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
自制货运电梯,每次往上提升的时候总会发出咯
贷款十万,期限二十年,现在要提前还清需要还多
通辽香港步行街在什么位置?
使用终端机分机电脑为什么会多次黑屏
给车贴膜的膜怎么分开
微星笔记本 如何拆光驱
我身上的肉很软,为什么会这样?特别是手臂.
给男孩起个好名字,中间要昌字
华丽移门装饰在什么地方啊,我要过去处理事情
单颗LED灯珠最低电压是多少
八十岁老人有退休金还跟儿女要赡养费可以吗
如何让线衣缩小
2014年丰田花冠油泵继电器在哪个位置?
傻逼班主任,昨天下午我和同学打起来了原因是
阳新县黄石鲸友卫浴在哪里啊,我有事要去这里
推荐资讯
搬家进门为什么要鱼跟豆腐
工业用3M防尘口罩哪种好
东港克桂牙科这个地址在什么地方,我要处理点
诺基亚卡尔蔡司手机镜头与索尼手机镜头有什么
时尚美容美发美体生活会馆在哪里啊,我有事要
老兄知道谜面打一省会名
元朝时,全国各族人被划为四等,长期居住在今
如果一个女生对一个陌生男生有意思,会有什么
我墙面积40平,需要多少块墙砖?,300.600的
玲珑轮胎cross wind h010怎么样
买车旗舰车型和豪华车型有什么区别
我被车撞了去医院拍片检查没事开了些药,医生
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?