可选输出光标作为参数
Posted
技术标签:
【中文标题】可选输出光标作为参数【英文标题】:Optional output cursor as parameter 【发布时间】:2015-08-12 06:31:29 【问题描述】:我正在尝试满足两个应用程序的需求。
一个调用带有 2 个游标的过程,另一个调用带有 1 个游标的过程。
两者都是OUT SYS_REFCURSOR
。
由于程序定义的不同,对一个应用程序的更改将破坏另一个应用程序。
我想知道是否有可能与OUT SYS_REFCURSOR
具有相同的过程,但第二个参数是可选的。这是通过定义默认值在项目的其他部分完成的。
我试过谷歌搜索和定义默认值,但无济于事。这似乎不是一个非常普遍的问题。
有没有办法通过可选的OUT SYS_REFCURSOR
来定义这个定义?
这是我的代码:
PROCEDURE Proc_GetQ (qList OUT SYS_REFCURSOR, qStack OUT SYS_REFCURSOR);
我希望 qStack 是可选的。
谢谢, JFIT
【问题讨论】:
【参考方案1】:method overloading 呢?
PROCEDURE Proc_GetQ (qList OUT SYS_REFCURSOR, qStack OUT SYS_REFCURSOR);
PROCEDURE Proc_GetQ (qList OUT SYS_REFCURSOR);
创建一个同名、逻辑相似的过程(最好在里面调用2参数版本,在外面只传递一个),但只需要一个OUT
参数。
【讨论】:
非常感谢。对于我正在简化的问题。有两种方法需要这个。我现在收到此错误:“Proc_GetQ”的声明太多与此调用匹配。尽管我已经按照你的要求做了。它似乎来自调用其中之一的过程。但定义不同,所以不知道为什么不匹配。 PLS-00307,嗯?这些“Proc_GetQ”是否在同一个包中?你能列出这个包中所有方法的声明吗?还有你调用这些过程的代码。 @JFit 很高兴也能看到您的新单参数程序代码。 现在一切都很好,谢谢@miraclefoxx - 我使用了你所使用的方法,就像你展示的那样。将光标拉出到较小的方法中并包裹原始。非常感谢您的回答:)以上是关于可选输出光标作为参数的主要内容,如果未能解决你的问题,请参考以下文章