繁体   English   中英

将xml插入XmlType字段

[英]Insert xml into XmlType field

我在Oracle 11g中有此表:

create table tmp_test_xml (
    name_xml varchar2(4000),
    file_xml xmltype
);

在此链接oracle binding xmltype上 ,我已经读到要在字段XMLType正确插入,我必须使用“ Xmltype binding”作为此插入:

insert into tmp_test_xml values (
          'file.xml',
          xmltype(
            '<?xml version="1.0" encoding="UTF-8"?>
            <list_book>
                <book>1</book>
                <book>2</book>
                <book>3</book>
            </list_book>'
          )
);

但是,如果我尝试在不插入XMLType绑定的情况下对该插入进行午餐,则效果很好:

insert into tmp_test_xml values (
          'file.xml',
            '<?xml version="1.0" encoding="UTF-8"?>
            <list_book>
                <book>1</book>
                <book>2</book>
                <book>3</book>
            </list_book>'
);

现在,附随性使用是否具有约束力? 什么是正确的插入物?

为什么第二个插入有效?

Oracle会尝试为您完成工作,因此,如果您的数据类型与列数据类型不匹配,它将尝试将数据转换为正确的数据类型。

由于您的插入语句中包含正确的xml字符串,因此数据库为您完成了到xmltype的转换。

而且我不确定,但是我怀疑必须使用XMLType绑定这个词。
但是,如果从字符串创建XML时需要更多控制权,则可能需要使用它。
检查XMLType构造函数以了解想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM