更新包含命名了的 row 类型的行

要更新在命名了的 ROW 类型上定义的列,您必须指定所有 ROW 类型的字段。例如,下列语句仅更新 employee 表中 address 列的 streetcity 字段,但每一 ROW 类型的字段必须包含一个值(允许 NULL 值):
UPDATE employee
          SET address = ROW('103 California St', 
          San Francisco', address.state, address.zip)::address_t
          WHERE name = 'zawinul, joe';

在此示例中,从该行中读取 statezip 字段的值,然后立即重新插入到该行内。仅更新 address 列的 streetcity 字段。

当您更新在命名了的 ROW 类型上定义的列的字段时,您必须使用 ROW 构造函数,并将该行值强制转型为适当的命名了的 ROW 类型。