2015-05-29 95 views
2

我试图迎合两个应用程序。可选输出光标作为参数

一个调用带有2个光标时,其他的程序与1

两者都是OUT SYS_REFCURSOR

由于过程定义的差异,对一个应用程序的更改将打破另一个应用程序。

我想知道是否有可能与OUT SYS_REFCURSOR有相同的程序,但第二个参数是可选的。这是通过定义默认值在项目的其他部分完成的。

我试过Google搜索和定义默认值,但无济于事。这似乎不是一个非常普遍的问题。

有没有办法让这个定义可选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参数。

+0

非常感谢。对于我简化的问题。有2种方法需要这个。我现在得到这个错误:'Proc_GetQ'的声明过多与此调用匹配。 即使我按你的要求做了。它似乎来自一个调用其中之一的过程。但定义是不同的,所以不知道为什么它不匹配。 –

+0

PLS-00307,是吧?这些'Proc_GetQ'是否在同一个包中?你能列出这个包中所有方法的声明吗?还有一些你也称为这些程序的代码。 – miraclefoxx

+0

@Jit很高兴看到你的新的单参数过程代码。 – miraclefoxx