> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# UPDATE - 更新

> 本页面介绍了UPDATE()函数的使用方法及其在不同场景下的应用，包括更新表单中的普通组件值、子表单数据等。通过具体的公式配置和解析，展示了如何根据条件更新目标表的数据。

UPDATE()函数用于更新表单中的普通组件值、表单中子表单的数据，子表单下有多条数据，可以根据设置的条件，只更新符合条件的子表单数据。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1640944690423-9cdd3fd2-e801-4e4d-a4e3-9f3c90bf4063.png)
</Frame>

## 格式

UPDATE()函数的格式为：

```javascript theme={"theme":{"light":"github-light","dark":"github-dark"}}
UPDATE(目标表,主条件,子条件,目标列1,目标值1,目标列2,目标值2...)
```

* 目标表： 要更新数据的目标表单

* 主条件： 定位目标表下需要更新的表单数据。主条件是由逻辑函数构成：

* 子条件： 要更新的表单数据已经确定，但要更新的是这条数据下某个子表单下的数据。用子条件定位子表单哪些数据要更新。子条件是由逻辑函数构造， 如果不需要更新子表单下的值，则填""，不能不填。

* 目标列：

* 目标值： 指目标列要更新成的值，目标值可以由当前录入表某个组件值，要更新目标表某个组件值，固定值通过其他函数组合而成。

## 使用场景

### 录入表普通组件数据更新目标表的普通组件数据

**使用的表单**

* 存货表： 商品名（单行文本）、存货量（数值组件）
* 出货表：商品名（下拉单选）、当前存货量（数值组件）、出货量（数值组件）

**需求**

* 存货表中保存着一批商品的存货量。通过出货表将货物出掉。
* 出货表中的商品名来自于存货表中存货商品。
* 出货表中，当选中某件商品时，显示这件商品当前的存货量。
* 出货表出货时，出货量不能大于存货量。
* 出货表出货后，存货表中对应商品的库存量要相应扣除。

**公式配置详情&公式解析**

* 需求描述：

* 公式配置： 在出货表的业务关联规则中，配置公式如下图：

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1621323593390-abfef9f4-0830-4cac-980c-f3a013c6fa75.png)
</Frame>

* 公式解析：

### 录入表子表单组件数据更新目标表的普通组件数据

**使用的表单**

* 出货表：商品类别（下拉单选）、出货子表单（子表单组件）。出货子表单下有：商品名（下拉单选）、当前库存（数值组件）、出货量（数值组件）。
* 存货表：商品类别（下拉单选）、商品名（单行文本）、存货量（数值组件）

**需求**

出货表下有出货明细的，一次可以出货多个商品。对于出货的多个商品，把存货对应的商品库存量扣除。

**公式配置详情&公式解析**

* 需求描述： 出货表下有出货明细的，一次可以出货多个商品。对于出货的多个商品，把存货对应的商品库存量扣除。
* 公式配置： 在出货表的业务关联规则中，配置公式如下图：

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1621322648444-d6efba5e-8df0-47e0-a6b8-d00502e4dcb6.png)
</Frame>

* 公式解析：

### 录入表普通组件数据更新目标表的子表单组件数据

**使用的表单**

* 存货表：商品类别（下拉单选）、存货子表单（子表单组件）。存货子表单下有商品名（单行文本），存货量（数值组件） 出货表：商品类别（下拉单选）、商品名（单行文本）、出货量（数值组件）

**需求**

存货表中记录着多个商品的存货量。当出货表中每提交一条数据，在存货表的子表单下能找到对应商品数据时，就将对应商品的库存量扣除出货量。

**公式配置详情&公式解析**

* 需求描述： 存货表中记录着多个商品的存货量。当出货表中每提交一条数据，在存货表的子表单下能找到对应商品数据时，就将对应商品的库存量扣除出货量。
* 公式配置： 在出表的业务关联规则中，配置公式如下图：

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1634803406667-e6365a8d-114c-4aca-91f3-10e2bbd2cd3b.png)
</Frame>

* 公式解析：

## 注意事项

* UPDATE函数更新目标表为主表字段支持更新100条，更新目标表某条数据的子表单明细，免费版最多支持更新50条明细，轻享版、专业版最多支持更新500条（ 默认是50条，需在表单编辑页面将子表单条数设置成500条 ）。

* UPDATE函数一次只能操作表单下一个子表单组件里的数据。如果有操作多个子表单组件数据的需求，请配置多个UPDATE函数。

* 主条件和子条件是由逻辑函数构造的。除了AND和OR之外，其他逻辑函数第一个参数必须是目标表中的组件，两个参数的位置不能调换。

* 高级公式组件支持范围如下

* 进行公式配置时，报错「执行失败，请检查业务规则配置」？

该问题可能是匹配条件配置字段超出字段限制，目前查询条件大小限制为1kb以下，约为512字符，超出限制会报执行失败的错误，推荐您使用流水号、实例ID、手机号等具有唯一性的字段去做匹配，可以避免该问题的出现。
