0
我不知道如何在調用另一個存儲過程的存儲過程中設置變量。我想保存返回的值並在以後的另一個選擇中使用它。pl在程序中設置sql變量
我想要做這樣的事情:
PROCEDURE procName(bcur OUT IssCur)
IS
cur2 IssCur;
extCur IssCur;
exlineno varchar2(30);
BEGIN
exlineno :=getExternlineno(exlineno,'50036648','00060');
open cur2 for SELECT concat(SUBSTR(susr2, 0, INSTR(susr2, '-')-1),'') from OrderDetail;
存儲過程調用
PROCEDURE getExternlineno(
oRetValue OUT varchar2,
pKey IN varchar2,
poNum IN varchar2)
AS
Begin
select externlineno into oRetValue from podetail where pokey = pKey and polinenumber = poNum;
end getExternlineno;
一旦我弄清楚如何這樣做,那麼我也可以打破這樣的事情(這不理解PROC名稱:
SELECT concat(concat(SUBSTR(susr2, 0, INSTR(susr2, '-')-1),''),' - ' || getExternlineno(exlineno,'50036648','00060')) from OrderDetail;
你應該申報'getExternlineno '作爲功能,而不是程序。 – 2013-03-13 21:03:50
您可以通過引用('oRetValue OUT varchar2')使用該值,那麼在調用過程中不需要'exlineno:=',或者像Egor所說的那樣做。在你的情況下,功能看起來更好... – Trinimon 2013-03-13 21:17:28
去功能。 – 2017-03-28 14:38:23