我在Oracle 11g中有这个表:
create table tmp_test_xml (
name_xml varchar2(4000),
file_xml xmltype
);
在此链接oracle binding xmltype,我已经读过,为了正确插入字段XMLType
我必须使用“Xmltype绑定”作为此插入:
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>'
);
现在,是否使用绑定装置?什么是正确的插入?
为什么第二个插件有效?
答案 0 :(得分:1)
Oracle尝试为您完成工作,因此如果您的数据类型与列数据类型不匹配,它会尝试将数据转换为正确的数据类型。
由于insert语句中有正确的xml字符串,因此数据库确实为您转换为xmltype。
我不确定,但我怀疑是否有一个词必须使用XMLType绑定。
但是,如果在从字符串创建XML时需要更多控制,则可能需要使用它
检查XMLType constructors以获得想法。