我正在编写一些使用WM_CONCAT函数的程序.当我运行此查询时:
SELECT WM_CONCAT(DISTINCT employee_id) FROM employee WHERE ROWNUM < 20;
它工作正常.当我尝试在包函数或过程中编译相对相同的查询时,它会产生此错误:PL / sql:ORA-30482:此函数不允许使用DISTINCT选项
FUNCTION fetch_raw_data_by_range RETURN VARCHAR2 IS v_some_string VARCHAR2(32000); BEGIN SELECT WM_CONCAT(DISTINCT employee_id) INTO v_some_string FROM employee WHERE ROWNUM < 20; RETURN v_some_string; END;
我意识到WM_CONCAT没有得到官方支持,但有人可以解释为什么它可以作为DISTINCT的独立查询工作,但不能在包中编译吗?