暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

南大通用GBase8s 常用SQL语句(290)

刚刚 好 2022-10-21
228


将列更新为 NULL

当您使用 UPDATE 语句时,请使用 NULL 关键字来修改列值。例如,对于其先前的地址需要两个地址行但现在仅需要一个的客户,您可以使用下列条目:

UPDATE customer

          SET address1 = '123 New Street',

          SET address2 = null,

          city = 'Palo Alto',

          zipcode = '94303'

          WHERE customer_num = 134;

两次更新同一列

您可在 SET 子句中指定同一列一次以上。如果您这么做,则将该列设置为您为该列指定的最后的值。在下一示例中,fname 列在 SET 子句中出现两次。对于客户编号为 101 的行,用户先将 fname 设置为 gary 然后又设置为 harry。在该 UPDATE 语句执行之后,fname 的值为 harry。

UPDATE customer

          SET fname = "gary", fname = "harry"

          WHERE customer_num = 101;

多列格式

使用 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';

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论