0
私は数を選択してから変数v_voyage1_orders20に次のように挿入しようとしていますが、これが可能で正しい構文を知っていますか?連結文/ into文への追加
SELECT COUNT(DISTINCT KLIENTS_ORDER_ID)
INTO CONCAT(v_voyage || v_lcntr || _orders20)
私は数を選択してから変数v_voyage1_orders20に次のように挿入しようとしていますが、これが可能で正しい構文を知っていますか?連結文/ into文への追加
SELECT COUNT(DISTINCT KLIENTS_ORDER_ID)
INTO CONCAT(v_voyage || v_lcntr || _orders20)
コメントに記載されているとおり、私たちは本当に適切な答えのためにいくつかの情報/文脈が必要です。
しかし、その静かな朝、私は推測しました。
これは、各klientの別々の注文数を配列に集計して、各klient_noを取得します。
DECLARE
TYPE klient_orders_rt IS RECORD
(klient_no klient_order.klient_no%TYPE,
klient_ord_count NUMBER);
TYPE order_count_t IS TABLE OF klient_orders_rt;
l_order_count order_count_t;
BEGIN
SELECT klient_no, COUNT(DISTINCT klints_order_id)
BULK COLLECT INTO l_order_count
FROM klient_order
GROUP BY klient_no;
FOR i IN 1..l_order_count.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('RECORD '||TO_CHAR(i)||' : '||l_order_count(i).klient_no||' Num orders: '||TO_CHAR(l_order_count(i).klient_ord_count));
END LOOP;
END;
これは、後で何かに近いものを与えるかもしれませんが、技術は確かに分かっています。
コンカットで変数名を作成することはできません。ハードコードを定義するか、コレクションを使用する必要があります。それ以外は、サンプルデータとあなたが試したクエリを提供します。 – Debabrata
こんにちはDebabrata、私はv_voyage1_orders20、v_voyage2_orders20などを得るために1-6からループしたいと思います。これを行うための最善の方法は何ですか? –
サンプルデータと期待される出力があれば、状況をよりよく理解するのに役立ちます。 – Debabrata