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