VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

INSERT

功能描述

向表中添加一行或多行数据。

Vastbase在PostgreSQL兼容模式下,支持以下用法:

本文档仅列出INSERT 在PostgreSQL兼容模式下的特性用法,更多语法及参数说明详见开发者指南中的SQL语法INSERT

支持INSERT语句对Identity列插入数据值处理。

注意事项

上述功能仅在数据库兼容模式为PostgreSQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='PG')。

语法格式

INSERT INTO table_name [ OVERRIDING { SYSTEM | USER } VALUE ]...

参数说明

  • table_name

    待更新字段取值的表名称。

  • OVERRIDING { SYSTEM | USER } VALUE

    未指定本选项时表示使用默认值时,即使用自增序列的值。

    要使用用户自定义的VALUE则必须指定本选项。

    • 指定了OVERRIDING SYSTEM VALUE,表示接受用户自定义的值。

    • 指定了OVERRIDING USER VALUE,表示忽略用户自定义的值,使用自增序列的值。

示例

更多identity属性列的insert示例请参考CREATE TABLE的示例

1、创建测试表并插入数据。

create table tb_1162773a(id smallint primary key GENERATED by default AS IDENTITY,name text,a4 date default '2022-12-14')
partition by system
(
partition p1,
partition p2);
create table tb_1162773b(id smallint primary key GENERATED by default AS IDENTITY,name char(6),a4 date default '2022-12-14')
partition by system
(
partition p1,
partition p2);
insert into tb_1162773b partition(p1)(name) values('aaa');

2、查询测试表数据。

select * from tb_1162773a;
select * from tb_1162773b;

查询结果为如下:

 id | name | a4
----+------+----
(0 rows)

 id |  name  |         a4
----+--------+---------------------
  1 | aaa    | 2022-12-14 
(1 row)

3、向测试表中插入数据。

insert into tb_1162773a partition(p1)(name) values('aaa'),('bbb'),(''),(null);
select * from tb_1162773a;
delete from tb_1162773a where id<2;
select * from tb_1162773a;
insert into tb_1162773a partition(p1) overriding system value values(1,'aaaa');
select * from tb_1162773a order by id;

返回结果为如下:

 id | name |         a4
----+------+---------------------
  1 | aaa  | 2022-12-14 
  2 | bbb  | 2022-12-14 
  3 |      | 2022-12-14 
  4 |      | 2022-12-14 
(4 rows)

DELETE 1

 id | name |         a4
----+------+---------------------
  2 | bbb  | 2022-12-14 
  3 |      | 2022-12-14 
  4 |      | 2022-12-14 
(3 rows)

 id | name |     a4
----+------+------------
  1 | aaaa | 2022-12-14
  2 | bbb  | 2022-12-14
  3 |      | 2022-12-14
  4 |      | 2022-12-14
(4 rows)

相关链接

CREATE INDEXINSERT