我正在编写一个 Oracle 用户定义函数。如何将 listtagg 值 Pears、Oranges、Bananas、Apples 插入变量 products 并在函数中返回。
products VARCHAR2(4000);
BEGIN
SELECT LISTAGG(product_name, ', ') WITHIN GROUP (ORDER BY product_name DESC) "Product_Listing"
FROM products;
RETURN products;
我正在编写一个 Oracle 用户定义函数。如何将 listtagg 值 Pears、Oranges、Bananas、Apples 插入变量 products 并在函数中返回。
products VARCHAR2(4000);
BEGIN
SELECT LISTAGG(product_name, ', ') WITHIN GROUP (ORDER BY product_name DESC) "Product_Listing"
FROM products;
RETURN products;
只需创建一个函数,声明一个字符串类型变量,将LISTAGG的值分配给该变量,然后返回它。
例如,
SQL> CREATE OR REPLACE
2 FUNCTION func
3 RETURN VARCHAR2
4 IS
5 str VARCHAR2(200);
6 BEGIN
7 SELECT LISTAGG(ename, ',') WITHIN GROUP (
8 ORDER BY ename)
9 INTO str
10 FROM emp
11 WHERE deptno = 10
12 GROUP BY deptno;
13 RETURN str;
14 END;
15 /
Function created.
SQL> select func from dual;
FUNC
--------------------------------------------------
CLARK,KING,MILLER
SQL>