oracle – 带有DISTINCT子句的WM_CONCAT – 编译包与独立查扣问
发布时间:2021-03-22 22:51:06 所属栏目:站长百科 来源:网络整理
导读:我正在编写一些行使WM_CONCAT函数的措施.当我运行此查询时: SELECT WM_CONCAT(DISTINCT employee_id)FROM employeeWHERE ROWNUM 20; 它事变正常.当我实行在包函数或进程中编译相对沟通的查询时,它会发生此错误:PL / SQL:ORA-30482:此函数不应承行使DISTI
我正在编写一些行使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的独立查询事变,但不能在包中编译吗? 办理要领题目是WM_CONCAT是写在pl / sql上的存储进程.有一个开放的bug#9323679:PL / SQL行使DISTINCT FAILS ORA-30482挪用用户界说的AGGREGRATE函数. 像这样的题目的办理要领是行使动态sql. 以是假如你把你的查询包装好 EXECUTE IMMEDIATE '<your_query>'; 然后它应该事变. 但正如OldProgrammer已经提议的那样,你最好完全停止行使这个WM_CONCAT. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |