---
title: "INSERTCHILDXML - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: "INSERTCHILDXML 描述 该函数用于将指定的 XML 片段插入到目标 XML 中，插入位置由 XPath 表达式指示的节点决定。 语法 INSERTCHILDXML( XMLType_instance, XPath_string, child_expr, value_expr [, namespace_st…"
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.5.0

# INSERTCHILDXML

更新时间：2026-03-18 14:43:56

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/500.functions-of-oracle-mode/200.single-row-functions-of-oracle-mode/1300.xml-functions-of-oracle-mode/400.modify-xmltype-data-functions-of-oracle-mode/200.insertchildxml-function-of-oracle-mode.md)  

## 描述

该函数用于将指定的 XML 片段插入到目标 XML 中，插入位置由 XPath 表达式指示的节点决定。

## 语法

```sql
INSERTCHILDXML( XMLType_instance, XPath_string, child_expr, value_expr [, namespace_string ])

```

## 参数解释

| **字段** | **说明** |
| --- | --- |
| XMLType_instance | 指定一个 XMLType 实例，表示目标 XML 文档。 |
| XPath_string | XPath 表达式，指示要插入一个或多个子节点的一个或多个目标节点。可以使用绝对路径（以斜杠开头）或相对路径（省略初始斜杠）。如果省略初始斜杠，则相对路径的上下文默认为根节点。 |
| child_expr | 指定一个或多个要插入的元素或属性节点。 |
| value_expr | 指定一个 XMLType 片段，指定要插入的一个或多个节点。它必须解析为一个字符串或者 XMLType。 |
| namespace_string | 可选项，用于为 XPath_string 提供命名空间信息。 |

#### 说明

插入的父节点如果还有命名空间，但是待插入的值没有，就要遍历增加空的命名空间。

## 返回类型

返回 XMLType 数据类型。

## 示例

- 使用 `INSERTCHILDXML` 函数向目标 XML 中插入一个子节点。其中，目标 XML 是 `<bookstore>` 节点及其子节点；XPath 表达式是 `/bookstore`，它指示要将子节点插入到 `<bookstore>` 节点中；要插入的子节点名是 `price`；要插入的子节点的内容是一个 XMLType 实例，表示 `<price>99.9</price>`；查询的结果使用 `AS` 关键字重命名为 `result`；最后，从 `dual` 表中检索结果。

  ```sql
  SELECT INSERTCHILDXML(
          XMLtype('<bookstore>
                      <book att="old"></book>
                      <author>carrot</author>
                    </bookstore>'),
          '/bookstore',
          'price',
          XMLtype('<price>99.9</price>')
        ) AS result
  FROM dual;

  ```

  返回结果如下：

  ```shell
  +-----------------------------------------------------------------------------------------------+
  | RESULT                                                                                        |
  +-----------------------------------------------------------------------------------------------+
  | <bookstore>
    <book att="old"/>
    <author>carrot</author>
    <price>99.9</price>
  </bookstore>
  |
  +-----------------------------------------------------------------------------------------------+
  1 row in set

  ```
 - 插入一个节点。

  ```sql
  SELECT
    INSERTCHILDXML(
      xmltype(
        '<bookstore>
          <book att="old"></book>
          <author>carrot</author>
        </bookstore>'
      ),
      '/bookstore/book',
      'a',
      xmltype('<a><b/></a>')
    )
  FROM dual;

  ```

  返回结果如下：

  ```shell
  +----------------------------------------------------------------------------------------------------------------------------------------------+
  | INSERTCHILDXML(XMLTYPE('<BOOKSTORE><BOOKATT="OLD"></BOOK><AUTHOR>CARROT</AUTHOR></BOOKSTORE>'),'/BOOKSTORE/BOOK','A',XMLTYPE('<A><B/></A>')) |
  +----------------------------------------------------------------------------------------------------------------------------------------------+
  | <bookstore>
    <book att="old">
      <a>
        <b/>
      </a>
    </book>
    <author>carrot</author>
  </bookstore>
                                  |
  +----------------------------------------------------------------------------------------------------------------------------------------------+
  1 row in set

  ```
 - 如果xpath查出多个，都会插入进去

  ```sql
  SELECT
    INSERTCHILDXML(
      xmltype(
        '<bookstore>
          <book att="old"></book>
          <book></book>
          <author>carrot</author>
        </bookstore>'
      ),
      '/bookstore/book',
      'price',
      xmltype('<price>99.9</price>')
    )
  FROM dual;

  ```

  返回结果如下：

  ```shell
  +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  | INSERTCHILDXML(XMLTYPE('<BOOKSTORE><BOOKATT="OLD"></BOOK><BOOK></BOOK><AUTHOR>CARROT</AUTHOR></BOOKSTORE>'),'/BOOKSTORE/BOOK','PRICE',XMLTYPE('<PRICE>99.9</PRICE>')) |
  +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  | <bookstore>
    <book att="old">
      <price>99.9</price>
    </book>
    <book>
      <price>99.9</price>
    </book>
    <author>carrot</author>
  </bookstore>
                    |
  +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  1 row in set

  ```
 - 插入属性。

  ```sql
  SELECT
    INSERTCHILDXML(
      xmltype(
        '<bookstore>
          <book att="old"></book>
          <author>carrot</author>
        </bookstore>'
      ),
      '/bookstore/book',
      '@att2',
      'abc'
    )
  FROM dual;

  ```

  返回结果如下：

  ```shell
  +---------------------------------------------------------------------------------------------------------------------------------+
  | INSERTCHILDXML(XMLTYPE('<BOOKSTORE><BOOKATT="OLD"></BOOK><AUTHOR>CARROT</AUTHOR></BOOKSTORE>'),'/BOOKSTORE/BOOK','@ATT2','ABC') |
  +---------------------------------------------------------------------------------------------------------------------------------+
  | <bookstore>
    <book att="old" att2="abc"/>
    <author>carrot</author>
  </bookstore>
                                                |
  +---------------------------------------------------------------------------------------------------------------------------------+
  1 row in set

  ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
