7.4.7 更新超级表的行
 当您更新超级表的行时,更新的作用域是超级表及其子表。 GBase 8s SQL 指南:教程
 南大通用数据技术股份有限公司 - 175 -
 当您对超级表构造 UPDATE 语句时,您可更新该超级表中的所有列,以及从该超级表继
 承的子表的列。例如,下列语句更新来自 employee 和sales_rep 表的行,它们是超级
 表 person 的子表:
 UPDATE person
  SET salary=65000
  WHERE address.state = 'CA';
 然而,对超级表的更新不允许您更新不在该超级表内的子表的列。例如,在前面的更新语
 句中,您不可更新 sales_rep 表的 region_num 列,因为region_num 列未出现在 employee 表
 中。
 当您对超级表执行更新时,请注意该更新的作用域。例如,对 person 表的 UPDATE 语句
 未包括 WHERE 子句来限定要更新的行,该语句修改person、employee 和 sales_rep 表的所
 有行。
 要限定为仅对超级表的行更新,您必须在 UPDATE 语句中使用 ONLY 关键字。例如,下
 列语句仅更新 person 表的行:
 UPDATE ONLY(person)
  SET address = ROW('14 Jackson St', 'Berkeley',
  address.state, address.zip)
  WHERE name = 'Sallie, A.';
 重要: 当您更新超级表的行时,请小心使用,因为对超级表的更新的作用域包括该超级表及其
 所有子表。










