我想使用PLSQL函数从Oracle数据库中获取所有员工ID到php.I've 10000个员工ID,每个大小为varchar2(10)
这是我的PLSQL功能代码:
FUNCTION view_emp_list_by_office return clob IS
ret xmltype;
BEGIN
SELECT xmlelement("employee_id_list",
XMLAGG(
xmlelement("employee",
xmlelement("emp_id", EMP_ID)
)ORDER BY EMP_NAME ASC
)
) as clob into ret
FROM TABLE_EMPLOYEE_INFO;
RETURN '<result><status >success</status>'||ret.getClobval()||'</result>';
EXCEPTION
WHEN OTHERS THEN
RETURN '<result><status>Error</status></result>';
END view_emp_list_by_office;
这是PHP代码:
$stid = oci_parse($conn, " begin
:result := package1.view_emp_list_by_office;
end;" );
oci_bind_by_name($stid, ':result',$ru, 247800);
$output = oci_execute($stid);
如果xml数据大小不大,代码工作正常。但是当我尝试获取所有员工ID时,它不起作用。它看起来像一个内存问题。如何解决这个问题?我需要进行任何代码修改吗。请帮助我。
答案 0 :(得分:1)
我过去遇到了一个问题,但执行了一个存储过程并将其导出到文件中。情况不一样但...... 检查你的memory_limit。我认为它默认带有64mb