UPDATE 语句

使用 UPDATE 语句更改数据库表中的记录。UPDATE 语句的格式为:

复制
UPDATE table_name SET column_name = expr, ... [ WHERE { conditions } ]

column_name 是要更改其值的列的名称。在一个语句中可以更改多个列。

expr 是列的新值。

通常,表达式为列的常量值(但也可以是子查询)。必须用一对单引号 (') 将字符串值括起。要在用单引号括起的字符串值中加入单引号,请同时使用两个单引号(例如,'Don''t')。

子查询必须用括号括起。

WHERE 子句是任何有效的子句。它决定了更新哪些记录。

示例

emp 表上的 UPDATE 语句。

复制
UPDATE emp SET salary=32000, exempt=1 WHERE emp_id = 'E10001'

UPDATE 语句会更改符合 WHERE 子句中的各个条件的每个记录。在本例中,针对员工 ID 为 E10001 的所有员工更改薪金和免税状态。因为员工 ID 在“员工”表中是唯一的,所以仅更新一个记录。

示例

emp 表上带子查询的 UPDATE 语句。

复制
UPDATE emp SET salary = (SELECT avg(salary) from emp) WHERE emp_id = 'E10001'

在本例中,针对员工 ID 为 E10001 的员工,将薪金更改为公司的平均薪金。

重要事项  

在容器字段中,只能 UPDATE 文本,除非您准备参数化语句,并从应用程序中流式传输数据。要使用二进制数据,可以通过用单引号将文件名括起来分配文件名,也可以使用 PutAs() 函数。指定文件名时,从文件扩展名中推导出文件类型:

复制
UPDATE table_name SET (container_name) = ?AS 'filename.file extension'

不受支持的文件类型将插入为 FILE 类型。

在使用 PutAs() 函数时,指定类型:PutAs(col, 'type'),其中类型值是检索容器字段的内容:CAST() 函数和 GetAs() 函数中所述的受支持的文件类型。