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

本文介绍了如何使用SQL的UPDATE语句来更新列的值,特别是将列更新为NULL以及如何同时更新多列。示例展示了如何针对特定条件更新客户和制造商的地址、姓名等信息。在SET子句中,可以多次指定同一列,但最终会保留最后一次的值。此外,还提到了使用星号(*)隐式更新所有列的用法。
摘要由CSDN通过智能技术生成

将列更新为 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 子句的多列格式为罗列您想要更新的列的集合提供下列选项:

  1. 显式地罗列每一列,在列之间放置逗号,将列的集合括在圆括号之间。
  2. 通过使用星号(*)隐式地罗列表中的所有列。

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

下列示例展示 SET 子句的多列格式:

UPDATE customer

      SET (fname, lname) = ('John', 'Doe') WHERE customer_num = 101;

          

UPDATE manufact

      SET * = ('HNT', 'Hunter') WHERE manu_code = 'ANZ';

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值