0
より多くを返します
製品タイプに基づいてBALANCEを返す関数を記述しました。私は各製品の種類のために複数持っていると私は以下のようにパイプの行を使用している。 Oracleパイプライン返却ORA-06548:必要な行がもうありませんORA-01427:単一行サブクエリが
create or replace function GETACC_BAL(pi_CUS_MDB_IID in number,
pi_EN_TYPE in varchar2,
pi_ADC_IID in number,
pi_CUS_MDB_IID in number,
pi_expiryDate in Date)
return ACC_CUS_BAL_ARR pipelined as
begin
for i in (select *
from CUST_BAL
where CUS_MDB_IID = pi_CUS_MDB_IID
and EN_TYPE = pi_EN_TYPE
and ADC_IID = pi_ADC_IID
and BALANCE <> 0) loop
pipe row(AC_CUS_BAL(I.EXPDATE,
I.ADC_IID,
I.EN_TYPE,
I.BALANCE,
'A'
));
end loop;
return;
end GETACC_BAL;
/
iはループが一列を生成する上記機能を実行
が動作しているが、倍数行の場合には、私ORA-06548、ORA-01427。私はwhen_no_data_needed例外を使用しようとしましたが、運はありません。誰かがこれを助けることができますか?
ありがとうございました
あなたの質問にも、手続き 'AC_CUS_BAL'を追加してください。 –