【发布时间】:2016-10-10 04:53:34
【问题描述】:
我想使用 PLSQL 函数从 Oracle 数据库中获取所有员工 ID 到 php。我有 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 时,它不起作用。看起来像内存问题。如何解决这个问题?我需要修改代码吗?请帮帮我。
【问题讨论】:
-
您收到什么错误信息? “不大”是什么意思?您确定了似乎会破坏它的尺寸吗?