【发布时间】:2021-03-17 18:13:19
【问题描述】:
我有一个超过 100K 字符的文本 XML,我正在尝试编写一个 PLSQL 块来将此 XML 插入到 XMLTYPE Oracle 表中。下面是我的 PLSQL 块,它不允许插入 xml 并出现错误说字符串文字太长,因为 Oracle 的 SQL 最多只能处理 4000 个字符。我无法更改 Oracle 中的数据类型。我如何插入这个 XML?
Table Column is REQUEST_XML XMLTYPE
我一直在尝试这样,但似乎也不起作用。
INSERT INTO XYZ.ABC(ID,REQUEST_XML) values(123,yourXmlStr);
PLSQL 在下面,
DECLARE
yourXmlStr xmltype := xmltype('<DRIVEResponse TimeZone="EDT">
<Condition1 ActionStep="ABCABC" /> // This can be more than 100K Characters
</DRIVEResponse>');
BEGIN
INSERT INTO XYZ.ABC(ID,REQUEST_XML) values(123,XMLTYPE.CREATEXML(yourXmlStr));
COMMIT;
END;
【问题讨论】:
-
你的表结构是什么?您确定 CreateXML 没有截断它而不是表本身吗?
-
更新问题。并且没有 CreateXML 没有截断它,我仍然看到 100K 字符