[英]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.