【问题标题】:Unable to retrieve XMLTYPE through procedure无法通过过程检索 XMLTYPE
【发布时间】:2019-09-02 13:17:03
【问题描述】:

我正在尝试创建一个存储过程来检索 XMLTYPE 作为输出。问题是,查询结果返回错误:不支持的数据类型。

我尝试为类似的 XML 类型执行现有过程,但这也给出了错误。

表:

CREATE TABLE TBL_MYDATA ( ID NUMBER PRIMARY KEY, MYDATA XMLTYPE )

程序:

CREATE PROCEDURE MYDATA (P_MYRESULT OUT XMLTYPE ) AS BEGIN SELECT MYDATA INTO P_MYRESULT FROM TBL_MYDATA WHERE ID = 1; END MYDATA ;

突然出现什么问题? 输出截图:

【问题讨论】:

  • 什么数据库客户端是错误的 - 你用 sqldeveloper 和 toad 标记。
  • 错误截图在 TOAD 中,但我也无法在 SQL Developer 中获得此过程的结果。

标签: database oracle oracle-sqldeveloper toad


【解决方案1】:

你把一些数据放到表中了吗?

我插入这条记录:

insert into TBL_MYDATA(id, mydata) values (1, '<?xml version="1.0" encoding="UTF-8"?><text><para>hello world</para></text>');

然后匿名块成功编译:

begin
  P_MYRESULT  XMLTYPE;
AS
BEGIN
  SELECT MYDATA INTO P_MYRESULT FROM TBL_MYDATA WHERE ID = 1;
END;

【讨论】:

  • 是的,当我双击 XMLTYPE 列时,我可以查看该表的值。您认为可能有一些数据库级别的设置会影响这一点吗?
猜你喜欢
  • 2019-01-16
  • 2013-02-13
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多