2015-05-29 67 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