可选输出光标作为参数

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 - 我使用了你所使用的方法,就像你展示的那样。将光标拉出到较小的方法中并包裹原始。非常感谢您的回答:)

以上是关于可选输出光标作为参数的主要内容,如果未能解决你的问题,请参考以下文章

使用不需要指定输出文件名的可选参数运行 argparse

js 自定义方法 设置可选参数的方法

字符串函数

覆盖方法上的 C# 可选参数

Linux echo命令的-n-e两个参数

新股日历数据API