环境是ORACLE10g(10.1)
该语句在sql中执行能返回结果:SELECT XMLELEMENT("Department",
XMLAGG(XMLELEMENT("Employee",
e.job_id||' '||e.last_name)
ORDER BY last_name))
as "Dept_list"
FROM employees e
WHERE e.department_id = 30;但如果放在存储过程中,编译时即报错:
create or replace procedure PRO_XML_LOADPLANTEST
(
p_result out pack_result.return_result
)
is
begin
SELECT XMLELEMENT("Department",
XMLAGG(XMLELEMENT("Employee",
e.job_id||' '||e.last_name)
ORDER BY last_name))
as "Dept_list"
FROM employees e
WHERE e.department_id = 30;
end ;错误如下:
Compilation errors for PROCEDURE PRO_XML_LOADPLANTESTError: PLS-00306: 调用 'XMLAGG' 时参数个数或类型错误Error: PL/SQL: ORA-00904: "XMLAGG": 标识符无效
实在不明白,希望有大虾帮助!!
该语句在sql中执行能返回结果:SELECT XMLELEMENT("Department",
XMLAGG(XMLELEMENT("Employee",
e.job_id||' '||e.last_name)
ORDER BY last_name))
as "Dept_list"
FROM employees e
WHERE e.department_id = 30;但如果放在存储过程中,编译时即报错:
create or replace procedure PRO_XML_LOADPLANTEST
(
p_result out pack_result.return_result
)
is
begin
SELECT XMLELEMENT("Department",
XMLAGG(XMLELEMENT("Employee",
e.job_id||' '||e.last_name)
ORDER BY last_name))
as "Dept_list"
FROM employees e
WHERE e.department_id = 30;
end ;错误如下:
Compilation errors for PROCEDURE PRO_XML_LOADPLANTESTError: PLS-00306: 调用 'XMLAGG' 时参数个数或类型错误Error: PL/SQL: ORA-00904: "XMLAGG": 标识符无效
实在不明白,希望有大虾帮助!!
解决方案 »
- 请教一个sql的问题,求解决~谢谢
- 电子文档存储管理表单设计
- 我想对分组后的数据求和,再求和,sql如何实现呢
- 我想把Oracle10g的数据库导到selserver 2000里 怎么导 能导吗
- 关于count(*)的返回结果为-1,真的会出现吗
- 能不能对于两个ORACLE数据库中结构相同的的两个表进行INSERT INTO...(SELECT..)操作??
- 请教大师关于WEB项目中的游标越界的问题
- oracle9.2.0.7在哪里下载啊
- 请教很难写sql语句
- oracle用sql实现一个简单的存储过程:循环给user表的一个字段赋值
- 一样的sql语句为什么一个有结果,一个没有?请诸位帮忙!
- 怎样把Oracle的数据转化成XML格式的?
open p_result for
SELECT XMLELEMENT("Department",
XMLAGG(XMLELEMENT("Employee",
e.job_id||' '||e.last_name)
ORDER BY last_name))
as "Dept_list"
FROM employees e
WHERE e.department_id = 30;
存储过程写法应该没问题,主要问题是同样SQL语句在存储过程报错.而在别的地方执行能正确返回结果.