- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PLSQLで集計関数の値を配列に入れたい)
PLSQLで集計関数の値を配列に入れたい
このQ&Aのポイント
- PLSQLで集計関数の値を配列に格納する方法について困っています。
- 部門コードと件数を配列に入れるためのロジックを作成しましたが、うまくいきません。
- どのようにすれば各部門とその対になる件数を配列に入れることができるでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
変数Iが宣言されていないですし、代入文もおかしいです。 元のプログラムを極力変えずにいくと、 DECLARE CURSOR KEKKA IS SELECT BUMON_CD,COUNT(*) RCNT FROM BUHYO GROUP BY BUMON_CD ORDER BY BUMON_CD; TYPE BUMON_TAB IS TABLE OF KEKKA%ROWTYPE INDEX BY PLS_INTEGER; WK_ARRAY BUMON_TAB; I PLS_INTEGER := 0; --追加 BEGIN FOR WK_BUMON IN KEKKA LOOP I := I + 1; WK_ARRAY(I).BUMON_CD := WK_BUMON.BUMON_CD; -- = を := に修正 WK_ARRAY(I).RCNT := WK_BUMON.RCNT;-- = を := に修正 DBMS_OUTPUT.PUT_LINE(WK_ARRAY(I).BUMON_CD || ',' || WK_ARRAY(I).RCNT); END LOOP; END; / こんな感じでしょうか。 この場合、添え字は1から始まることになります。
お礼
yamada_gさん お世話になります。 変数Iの宣言が必要なのですね。それから=ではなく:=ですね。 すいません。ご指摘ありがとうございます。 教えていただいた内容で配列に正しく格納できました。 本当にありがとうございます。 いろいろと勉強になります。