本小节将会为您介绍Hologres中update命令的用法。

命令功能介绍

update:对表指定列的行数据进行更新。

命令格式

在Hologres中update的命令格式如下:

UPDATE table [ * ] [ [ AS ] alias ]
    SET { column = { expression } |
          ( column [, ...] ) = ( { expression } [, ...] ) } [, ...]
    [ FROM from_list ]
    [ WHERE condition ]

参数

  • alias:别名,目标表的替代名称
  • expression:表达式
  • condition:更新的条件

示例用法

在Hologres中,update的示例用法如下:

create table update_test (
  a text primary key, 
  b int not null, 
  c text not null, 
  d text);  

INSERT INTO update_test VALUES ('b1', 10, '', '');

update update_test set b = b + 10 where a = 'b1';
update update_test set c = 'new_' || a, d = null where b = 20;
update update_test set (b,c,d) = (1, 'test_c', 'test_d'); 


create table tmp(a int);
insert into tmp values (2);
update update_test set b = tmp.a from tmp;
631

更多关于update的详情请参见PostgreSQL官网文档

使用限制

  • Hologres当前版本不支持对shard key进行update。
  • 不支持对分区父表直接update,需要update具体的分区子表。