
はじめまして。
各部門に所属している人の件数を配列に格納して処理したいと考えています。
(例)テーブル名:buhyo
SQL:select bumon_cd,count(*) from buhyo group by bumon_cd order by bumon_cd
上記SQLの結果↓
部門コード(bumon_cd) count(*)
---------------------------------
A11 100
A12 150
A13 200
上の結果であるA11と100、A12と150、A13と200をそれぞれ配列に入れたくて
PLSQLで以下のロジックを作成しましたが、うまくいかなくて困っています。
<ロジック>
DECLARE
CURSOR KEKKA IS SELECT BUMON_CD,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;
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;
/
これで出力しようとしてもWK_ARRAY配列に部門コードと件数が入りません。
どのようにすれば各部門とその対になる件数を配列に入れることが
可能でしょうか?ご教授ください。
よろしくお願いします。
No.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の宣言が必要なのですね。それから=ではなく:=ですね。
すいません。ご指摘ありがとうございます。
教えていただいた内容で配列に正しく格納できました。
本当にありがとうございます。
いろいろと勉強になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
重複するキーから一番古い年月...
-
PLSQLで集計関数の値を配列に入...
-
続.ORACLEのSELECTのソートに...
-
Accessユニオンクエリーで2つ...
-
Accessでフィールドを比較した...
-
主キーの変更
-
PLSQLの識別子エラー
-
履歴を管理するテーブル構造に...
-
2つのテーブルから条件に一致...
-
行方向のデータを横に並べる
-
VIEWでテーブルの集計結果...
-
3つ以上のテーブルをUNIONする...
-
seoについておしえてください
-
ACCESS2007 フォーム 「バリア...
-
オラクルではできるのにSQLSERV...
-
エクスポート時の改行コードに...
-
Access 削除クエリが重い
-
SELECT時の行ロックの必要性に...
-
SELECT文でのデッドロックに対...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
主キーの変更
-
update文で質問です。 下記の条...
-
ACCESS 一つのフィールドに複...
-
続.ORACLEのSELECTのソートに...
-
accessで移動平均する方法
-
行方向のデータを横に並べる
-
Accessでフィールドを比較した...
-
PLSQLの識別子エラー
-
商品コード番号を入力すると商...
-
ACCESSのデータシート形式のフ...
-
複数InnerJoin時の処理落ち回避法
-
Accessのテーブル設計について...
-
正規化・リレーションシップに...
-
Accessのコンボボックスの使い...
-
データベースの問題
-
ACCESSのコンパイルエラーについて
-
SQL結合条件
おすすめ情報