【问题标题】:how to pass sysrefcursor as a parameter to oracle scheduler job如何将 sysrefcursor 作为参数传递给 oracle 调度程序作业
【发布时间】:2015-09-10 11:54:54
【问题描述】:

我从存储过程中获取 SYSREFCUROSOR 作为输出参数,如何在 oracle 调度程序作业中调用该 SP 并传递该参数?

【问题讨论】:

  • 你打算如何处理生成的引用光标?什么会使用/消费它?
  • 也许写一个函数来返回你的 RefCursor 并在你的调度程序作业中调用这个函数。
  • 只是我们将在作业中调用该存储过程。我们不会在工作中消耗它
  • 您不能在不同会话之间传递光标。请显示一些代码或伪代码,因为它不清楚你在尝试什么。
  • 这是我的过程:创建或替换 PROCEDURE CSIP_GETRECORDS_SP (i_fromdate IN DATE ,i_todate IN DATE ,p_result_cur OUT SYS_REFCURSOR ) 游标将在提供的范围和 sp 由调度程序作业和游标输出用于发送电子邮件。 @OldProgrammer

标签: oracle plsql oracle11g dbms-scheduler


【解决方案1】:

如果您要丢弃 ref 游标,则创建一个包装程序来执行此操作;类似:

create procedure wrapper_proc as
  l_refcursor sys_refcursor;
begin
  orig_proc(l_refcursor);
  close l_refcursor;
end;
/

然后在您计划的作业中调用包装程序。

【讨论】:

  • 但我要求将引用光标值附加到作业并发送电子邮件
猜你喜欢
  • 2012-02-29
  • 2018-08-09
  • 1970-01-01
  • 2021-05-13
  • 2021-06-13
  • 1970-01-01
  • 1970-01-01
  • 2015-05-06
  • 1970-01-01
相关资源
最近更新 更多