如何将 SELECT LISTAGG 值插入到 varchar 变量
How to insert SELECT LISTAGG values to varchar variable
我正在编写 Oracle 用户定义函数。如何将 listtagg 值 Pears、Oranges、Bananas、Apples 插入变量 products 和 return 函数中。
products VARCHAR2(4000);
BEGIN
SELECT LISTAGG(product_name, ', ') WITHIN GROUP (ORDER BY product_name DESC) "Product_Listing"
FROM products;
RETURN products;
只需创建一个函数,声明一个字符串类型变量,赋值LISTAGG 到变量,然后 return 它。
例如,
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>
我正在编写 Oracle 用户定义函数。如何将 listtagg 值 Pears、Oranges、Bananas、Apples 插入变量 products 和 return 函数中。
products VARCHAR2(4000);
BEGIN
SELECT LISTAGG(product_name, ', ') WITHIN GROUP (ORDER BY product_name DESC) "Product_Listing"
FROM products;
RETURN products;
只需创建一个函数,声明一个字符串类型变量,赋值LISTAGG 到变量,然后 return 它。
例如,
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>