关于游标循环传递参数的问题。谢谢。

LiaoHen_ 2020-07-28 07:51:17


declare cursor v_field is
select * from ep_v_bgtprojbudget_part02 t where t.bdgyear = in_bdgyear and t.xzqhbm = in_xzqhbm and t.BGT_PMAIN_ID = in_proid;
begin
for v_field_row in v_field loop

-- 这里能否调用一个函数,把v_field_row这个数据集传递到另一个存储过程或者函数。

end loop;
end;



我要处理不同的数据集进行加工,根据业务声明类似的游标很多个,但是最后都是把这样一行数据,插入到一张表里。
...全文
364 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
AHUA1001 2020-09-09
  • 打赏
  • 举报
回复
declare cursor v_field is
select * from ep_v_bgtprojbudget_part02 t where t.bdgyear = in_bdgyear and t.xzqhbm = in_xzqhbm and t.BGT_PMAIN_ID = in_proid;
begin
for v_field_row in v_field loop

-- 这里能否调用一个函数,把v_field_row这个数据集传递到另一个存储过程或者函数。
--函数
SELECT 函数名(v_field_row.字段1,v_field_row.字段2......) FROM DUAL ;
--存储过程
CALL 存储过程名(v_field_row.字段1,v_field_row.字段2......) ;
end loop;
end;
卖水果的net 2020-07-29
  • 打赏
  • 举报
回复
存储过程的参数,用 ep_v_bgtprojbudget_part02%rowtype 类型
js14982 2020-07-29
  • 打赏
  • 举报
回复
可以插入一张表中,然后其他存储过程或者函数调用读取这张表的数据。 不能直接把数据集传递到另外一个存储过程或者函数,一个游标就是一个事务,并不能夸事务传递参数,只能存储在表中。 如果游标简单的话,直接把游标搬到存储过程里面吧

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧