TRUNCATE语句用于清空目标表。本文为您介绍Hologres中TRUNCATE的语法。
使用限制
TRUNCATE
语句的使用限制如下:
Hologres支持Sequence,但目前仅支持CONTINUE IDENTITY,不支持RESTART IDENTITY。
Hologres支持对普通表、分区父表及分区子表执行
TRUNCATE
语句。Hologres不支持对外部表执行
TRUNCATE
语句。
语法
TRUNCATE
的语法格式如下。
TRUNCATE [ TABLE ] name [, ... ]
[CONTINUE IDENTITY ]
CONTINUE IDENTITY参数不修改当前Sequence的值。
说明
TRUNCATE
命令不支持生成Binlog。TRUNCATE
在V3.1版本前属于DDL命令,对开启了Binlog的表执行TRUNCATE
不会报错,也不会生成Binlog。TRUNCATE
自V3.1版本起变更为DML命令,可有效降低高频TRUNCATE
场景下FE的压力。对开启了Binlog的表执行TRUNCATE会直接报错,需要Session级别关闭Binlog,命令为SET hg_experimental_generate_binlog = off;
。
使用示例
TRUNCATE
的使用示例如下。
示例一。
CREATE TABLE event ( id INT, name text, tag text ); INSERT INTO event (id,name,tag) values (23,'buy', 'num'); SELECT * FROM event; TRUNCATE TABLE event ;
示例二。
CREATE TABLE event_1 ( id serial, name text, tag text ); INSERT INTO event_1 (name,tag) values ('buy', 'num'); SELECT * FROM event_1; #默认为CONTINUE IDENTITY TRUNCATE TABLE event_1 CONTINUE IDENTITY;
该文章对您有帮助吗?