全部產品
Search
文件中心

Hologres:TRUNCATE

更新時間:Jun 14, 2025

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;