0

我有存储过程:

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 Developer 的输出变量中返回以下内容

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 Server DB 开发人员。任何帮助是极大的赞赏。

谢谢

更新:表定义/查询结果

4

1 回答 1

3

这对您的过程来说不是问题,但对于 SQL Developer 如何获取输出变量似乎有点奇怪——我看不到在该选项卡中显示实际内容的方法。

作为替代方案,您可以通过从 SQL 工作表调用该过程来查看该过程正在运行(作为脚本运行 (F5)):

var rc refcursor;
exec udp_get_employeeaddress(:rc);
print :rc;
于 2012-07-11T16:15:04.270 回答