以下のコードを使用して、2 つのカウント値をコレクションに追加することを期待していたストアド プロシージャを作成しました。
PROCEDURE generate(code_in in VARCHAR2
, value_1 out NUMBER
, value_2 out NUMBER) is
BEGIN
SELECT
COUNT(CASE WHEN type = 'A' THEN 1 ELSE NULL END) INTO value_1
, COUNT(CASE WHEN type IN ('B','D') THEN 1 ELSE NULL END) INTO value_2
FROM table
WHERE code = code_in;
END generate;
しかし、コードを実行すると、次のエラーが発生します。
ORA-00934: ここではグループ機能は許可されていません
2 番目の行を削除するとCOUNT
、ストアド プロシージャは正常にコンパイルされますが、この 2 行目を追加するとエラーが発生します。
なぜこれが起こっているのか説明できる人はいますか?Oracle に関する私の経験は最小限であることに注意してください。