如何在 Oracle 中返回结果 xmltypes 存储过程

标签: oracle11g XML Oracle
发布时间: 2017/4/15 19:06:54
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有存储过程︰

CREATE OR REPLACE udp_get_employeeaddress ( result_set out sys_refcursor )
AS
BEGIN
   open result_set for
   select xmlcolumn from employees where rownum < 3;

END udp_get_employees;

当我执行此 sp 时,将返回以下信息在输出变量中的 SQL 开发人员

XML_COLUMN


oracle.jdbc.driver.OracleSQLXML@49e57334

SELECT 语句只取出

select xmlcolumn from employees where rownum < 3;

返回 xml 结果

XML_COLUMN


表的定义为︰

CREATE TABLE "EMP"."Employees"
  (
    "ID"              NUMBER,
    "XML_COLUMN" "XMLTYPE"
  )
  xmltype column "XML_COLUMN" STORE AS BINARY XML
  xmlschema "http://www.web.com/emp.xsd"
  element "root"  

我希望我的存储过程返回的相同的 (结果集) 作为独立查询。

这是我首次尝试向 Oracle / xml db,因为我一直主要的 SQL 服务器数据库开发人员。任何帮助大大赞赏。

谢谢你

更新︰ 表定义/查询结果

解决方法 1:

这不是一个问题与您的程序,但似乎是个古怪的 SQL 开发人员如何嘘输出变量-再看不到的方式,在该选项卡中显示的实际内容。

作为替代,您可以看到程序正在通过调用从 SQL 工作表中 (作为脚本 (F5) 运行)︰

var rc refcursor;
exec udp_get_employeeaddress(:rc);
print :rc;
赞助商