
# UPDATE
#### 命令功能
UPDATE命令根据列表达式和可选的过滤条件更新Delta表。
#### 命令格式
**UPDATE** *\[database_name.\]table_name\|DELTA.\`obs://bucket_name/tbl_path\`*
*SET column = EXPRESSION(,column = EXPRESSION)*
*\[ WHERE boolExpression\]*
#### 参数描述
表1UPDATE参数 
| 参数             | 描述                            |
|:---|:---|
| database_name  | Database名称，由字母、数字和下划线（_）组成。   |
| table_name     | Database中的表名，由字母、数字和下划线（_）组成。 |
| *bucket_name*  | obs桶名称。                       |
| *tbl_path*     | Delta表在obs桶中的存储位置。            |
| column         | 待更新的目标列。                      |
| EXPRESSION     | 需在目标表中更新的源表列值的表达式。            |
| boolExpression | 过滤条件表达式。                      |
   
#### 所需权限
- SQL权限
表2UPDATE所需权限列表 
| 权限描述       |
|:---|
| 表的UPDATE权限 |
   
- 细粒度权限：dli:table:update。
- 由LakeFormation提供的元数据服务，权限配置详见LakeFormation文档。
 
#### 示例
```
update delta_table0 set price = price + 20 where id = 1;
update delta.`obs://bucket0/db0/delta_table1` set price = price *2, name = 'a2' where part0='xx' and id = 2;
```
#### 系统响应
可在driver日志和客户端中查看命令运行成功或失败。
