Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将xml插入XmlType字段_Sql_Oracle_Insert_Oracle11g_Xmltype - Fatal编程技术网

Sql 将xml插入XmlType字段

Sql 将xml插入XmlType字段,sql,oracle,insert,oracle11g,xmltype,Sql,Oracle,Insert,Oracle11g,Xmltype,我在Oracle 11g中有此表: create table tmp_test_xml ( name_xml varchar2(4000), file_xml xmltype ); 在这个链接中,我读到,为了正确地插入一个字段XMLType,我必须使用“XMLType绑定”作为这个插入: insert into tmp_test_xml values ( 'file.xml', xmltype( '<?xml

我在Oracle 11g中有此表:

create table tmp_test_xml (
    name_xml varchar2(4000),
    file_xml 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>'
          )
);
现在,临时用途是否具有约束力?正确的插入是什么


为什么第二次插入有效?

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

因为在insert语句中有正确的xml字符串,所以数据库为您进行了到xmltype的转换

我不确定,但我怀疑是否有一个词必须使用XMLType绑定。
但是,如果您需要在从字符串创建XML时有更多的控制权,您可能需要使用它。
检查以获得一个想法

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>'
);