多列格式

使用 SET 子句的多列格式来罗列多个列并将它们设置等于相应的表达式。
多列格式
元素 描述 限制 语法
column 要被更新的列的名称 不可为序列类型或 ROW 类型。column 名称的数目必须等于返回到 = 号右边的值的数目。 标识符
expression column 返回值的表达式 不可包括聚集函数 表达式
singleton_select 正好返回一行的子查询 子查询返回的值必须对应于 column 列表中的列 SELECT 语句
SPL function 返回一个或多个值的 SPL 例程 返回的值必须与 column 列表中的列一一对应 标识符
SET 子句的多列格式为罗列您想要更新的列的集合提供下列选项:
  • 显式地罗列每一列,在列之间放置逗号,将列的集合括在圆括号之间。
  • 通过使用星号(*)隐式地罗列表中的所有列。

您必须显式地罗列每一表达式,在表达式之间放置逗号(,)分隔符,并将表达式的集合括在圆括号之间。列的数目必须等于表达式列表所返回的值的数目,除非该表达式列表包括一 SQL 子查询。

下列示例展示 SET 子句的多列格式:
UPDATE customer
          SET (fname, lname) = ('John', 'Doe') WHERE customer_num = 101;
          
          UPDATE manufact
          SET * = ('HNT', 'Hunter') WHERE manu_code = 'ANZ';
1 请参阅 参数