以下では、コレクションをグループ化しようとしていますが、データを使用して他のファンクション/ストアド・プロシージャをコールしています。何らかの理由で私はエラーがなぜ言われているのか分かりません。PLS-00382式が間違ったタイプです。私はコールを含まなかったが、割り当てようとすると同じ問題が発生するRecipaymentにOupaymentどんな助けもありがとう。Oracle ObjectsおよびForループを使用するPLS-00382
CREATE OR REPLACE TYPE Over_Under_Payment AS OBJECT
(
Demoid NUMBER,
Paymentamount NUMBER,
Month DATE
)
CREATE OR REPLACE TYPE OVER_UNDER_PAYMENT_LIST as table of OVER_UNDER_PAYMENT
PROCEDURE Pass_Payments(Listofpayments IN Over_Under_Payment_List) IS
Oupayment Over_Under_Payment;
BEGIN
FOR Recipient IN (SELECT Demoid
FROM TABLE(CAST(Listofpayments AS Over_Under_Payment_List))
GROUP BY Demoid) LOOP
FOR Recippayment IN (SELECT *
FROM TABLE(CAST(Listofpayments AS Over_Under_Payment_List))
WHERE Demoid = Recipient.Demoid) LOOP
Oupayment := Recippayment;
END LOOP;
END LOOP;
END;
ご協力いただきありがとうございます。これで何も見つかりませんでした。 1つの厄介なことは、あなたが持っているすべての属性/プロパティをリストアップしなければならないということです。あなたはこのタイプの25のプロパティを持っているので、この周りにはとにかく知っています。 – Dante
@Dante:申し訳ありませんが、私はこれを回避する方法はわかりません。 Oracleのコレクションは、あなたが今すぐ見つけていると確信しているので、対処するのにイライラすることができます! –