---
title: "UPDATEXML - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: UPDATEXML 描述 该函数用于修改更新 XMLType 数据的表达式，通过指定一个或者多个 XPath 和 Value 值对，将所输入的原 XMLType 数据的表达式按照指定的顺序将 XPath 查找到的节点更新成 value_expr 指定的更新值。 语法 UPDATEXML (XMLType_instan…
---
切换语言

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

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

# UPDATEXML

更新时间：2026-07-15 20:42:46

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/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/100.updatexml-function-of-oracle-mode.md)  

## 描述

该函数用于修改更新 XMLType 数据的表达式，通过指定一个或者多个 XPath 和 Value 值对，将所输入的原 XMLType 数据的表达式按照指定的顺序将 XPath 查找到的节点更新成 `value_expr` 指定的更新值。

## 语法

```sql
UPDATEXML
      (XMLType_instance,
        XPath_string, value_expr
          [, XPath_string, value_expr ]...
        [, namespace_string ]
      )

```

## 参数解释

| 字段 | 说明 |
| --- | --- |
| XMLType_instance | 指定 XMLType 类型的数据，可以是 XMLType 列或者返回类型为 XMLType 的表达式。 |
| XPath_string | 通过 XPath 指定需要更新的 XML 内容。 |
| value_expr | 指定更新值，数据类型可以是 XMLType 类型数据、标量类型（例如 `CHAR`/`VARCHAR2`）、`CLOB` 和 `NULL`。 |
| namespace_string | 指定 XML 命名空间。 |

## 返回值

返回 XMLType 数据类型。

## 使用说明

- `value_expr` 可以是 `NULL`、标量和 XMLType 类型的输入。
 - `namespace_string` 是可选项，可以指定 XPath 查找节点的命名空间。

## 示例

```shell
obclient> SELECT UPDATEXML(XMLPARSE(CONTENT '<root><a>aaa</a></root>'), '/root/a/text()', 'bbb') RES FROM DUAL;
+------------------------------+
| RES                          |
+------------------------------+
| <root>
  <a>bbb</a>
</root>
 |
+------------------------------+
1 row in set

obclient> SELECT UPDATEXML(XMLPARSE(CONTENT '<root><a>aaa</a></root>'), '/root/a/text()', NULL) RES FROM DUAL;
+------------------------+
| RES                    |
+------------------------+
| <root>
  <a/>
</root>
 |
+------------------------+
1 row in set

obclient> SELECT UPDATEXML(XMLPARSE(CONTENT '<root><a>aaa</a></root>'), '/root/a/text()', XMLPARSE(content '<a>bbb</a>')) RES FROM DUAL;
+---------------------------------------------+
| RES                                         |
+---------------------------------------------+
| <root>
  <a>
    <a>bbb</a>
  </a>
</root>
 |
+---------------------------------------------+
1 row in set

obclient> SELECT UPDATEXML(XMLPARSE(CONTENT '<root a1="aaa"><a>aaa</a></root>'), '/root/@a1', 'bbb') RES FROM DUAL;
+---------------------------------------+
| RES                                   |
+---------------------------------------+
| <root a1="bbb">
  <a>aaa</a>
</root>
 |
+---------------------------------------+
1 row in set

obclient> SELECT UPDATEXML(XMLPARSE(CONTENT '<root a1="aaa"><a>aaa</a></root>'), '/root/@a1', NULL) RES FROM DUAL;
+------------------------------------+
| RES                                |
+------------------------------------+
| <root a1="">
  <a>aaa</a>
</root>
 |
+------------------------------------+
1 row in set

obclient> SELECT UPDATEXML(XMLPARSE(CONTENT '<root a1="aaa"><a>aaa</a></root>'), '/root/@a1', XMLPARSE(CONTENT '<a>a1</a>')) RES FROM DUAL;
+------------------------------------------+
| RES                                      |
+------------------------------------------+
| <root>
  <a>a1</a>
  <a>aaa</a>
</root>
 |
+------------------------------------------+
1 row in set

obclient> SELECT UPDATEXML(XMLPARSE(CONTENT '<root><a>aaa</a></root>'), '/root/a', 'bbb') RES FROM DUAL;
+-------------------+
| RES               |
+-------------------+
| <root>bbb</root>
 |
+-------------------+
1 row in set

obclient> SELECT UPDATEXML(XMLPARSE(CONTENT '<a a1="a1" xmlns:f="ns1" xmlns="ns2"><c/>cccc</a>'), '/a', NULL, 'xmlns="ns2"') RES FROM DUAL;
+-------------------+
| RES               |
+-------------------+
| <a xmlns="ns2"/>
 |
+-------------------+
1 row in set (0.01 sec)

obclient> SELECT UPDATEXML(XMLPARSE(CONTENT '<root><a>aaa</a></root>'), '/root/a', xmltype('<b>bbb</b>')) RES FROM DUAL;
+------------------------------+
| RES                          |
+------------------------------+
| <root>
  <b>bbb</b>
</root>
 |
+------------------------------+
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) 咨询热线
