【发布时间】:2015-04-23 06:17:58
【问题描述】:
帮助请在创建函数时发现错误,该函数将从列表中返回一行。
SELECT listagg(' ' || V_RECEIVING_LIST.DOCUMENT_NUMBER || CHR(13))
WITHIN GROUP (ORDER BY V_RECEIVING_LIST.DOCUMENT_NUMBER)
FROM svc.claim_detail, tbc.v_receiving_list
WHERE claim_detail.id_claim = 334455
AND V_RECEIVING_LIST.ID_RECEIVING_LIST = CLAIM_DETAIL.ID_RECEIVING_LIST
代码返回正确的结果。
但下一个不返回相同的。
DECLARE
scodes VARCHAR2 (4000);
BEGIN
SELECT (LISTAGG(' ' || RECEIVING_LIST.DOCUMENT_NUMBER || CHR(13))
WITHIN GROUP (ORDER BY RECEIVING_LIST.DOCUMENT_NUMBER))
INTO scodes
FROM svc.claim_detail, tbc.v_receiving_list
WHERE claim_detail.id_claim = 334455
AND RECEIVING_LIST.ID_RECEIVING_LIST = CLAIM_DETAIL.ID_RECEIVING_LIST;
DBMS_OUTPUT.PUT_LINE(scodes);
END;
【问题讨论】:
-
PL/SQL 块显示什么? SQL 查询返回什么?
-
您下面的示例“答案”仅显示一行输出(我可以看到)。所以有什么问题?与您在下面的答案不同的独立 SQL 返回是什么?