0
我想選擇一個計數,然後插入如下變量v_voyage1_orders20,有沒有人知道這是否可能和正確的語法?進入聲明的級聯/追加
SELECT COUNT(DISTINCT KLIENTS_ORDER_ID)
INTO CONCAT(v_voyage || v_lcntr || _orders20)
我想選擇一個計數,然後插入如下變量v_voyage1_orders20,有沒有人知道這是否可能和正確的語法?進入聲明的級聯/追加
SELECT COUNT(DISTINCT KLIENTS_ORDER_ID)
INTO CONCAT(v_voyage || v_lcntr || _orders20)
正如評論中指出的那樣,我們確實需要更多信息/上下文才能得到正確的答案。
然而,它是一個安靜的早晨,所以我猜測了一下。
這將使您將每個klient_no與每個klient的不同訂單數統一到一個數組中。
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;
這可能會給你一些接近你的東西,但技術無疑是值得了解的。
你不能通過concat創建一個變量名。你必須定義它的硬代碼或使用集合。除此之外,還提供樣本數據和您嘗試過的查詢。 – Debabrata
嗨Debabrata,我想循環通過從1-6獲得v_voyage1_orders20,v_voyage2_orders20等什麼是最好的方式來做到這一點? –
這將有助於更好地瞭解情況,如果提供樣本數據和您的預期輸出。 – Debabrata