Pernyataan TRUNCATE digunakan untuk menghapus data dari sebuah tabel. Topik ini menjelaskan sintaksis TRUNCATE di Hologres.
Batasan
Pernyataan TRUNCATE memiliki batasan berikut:
Hologres mendukung Sequence, namun saat ini hanya mendukung CONTINUE IDENTITY, bukan RESTART IDENTITY.
Hologres mendukung eksekusi pernyataan
TRUNCATEpada tabel biasa, tabel induk partisi, dan tabel anak partisi.Hologres tidak mendukung eksekusi pernyataan
TRUNCATEpada tabel asing.
Sintaksis
Sintaksis dari TRUNCATE adalah sebagai berikut:
TRUNCATE [ TABLE ] name [, ... ]
[CONTINUE IDENTITY ] Parameter CONTINUE IDENTITY tidak mengubah nilai saat ini dari Sequence.
Pernyataan
TRUNCATEtidak mendukung pembuatan log biner.Pada versi sebelum V3.1,
TRUNCATEmerupakan pernyataan DDL. Saat Anda mengeksekusi pernyataanTRUNCATEpada tabel dengan binary logging diaktifkan, tidak ada kesalahan yang dilaporkan, dan tidak ada log biner yang dihasilkan.Mulai dari V3.1,
TRUNCATEdiubah menjadi pernyataan DML, secara efektif mengurangi tekanan pada node FE dalam skenario dengan operasiTRUNCATEyang sering. Saat Anda mengeksekusi pernyataanTRUNCATEpada tabel dengan binary logging diaktifkan, kesalahan akan dilaporkan. Anda harus menonaktifkan binary logging pada tingkat sesi dengan menggunakan pernyataanSET hg_experimental_generate_binlog = off;.
Contoh
Berikut adalah contoh penggunaan TRUNCATE:
Contoh 1:
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 ;Contoh 2:
CREATE TABLE event_1 ( id serial, name text, tag text ); INSERT INTO event_1 (name,tag) values ('buy', 'num'); SELECT * FROM event_1; #default is CONTINUE IDENTITY TRUNCATE TABLE event_1 CONTINUE IDENTITY;