***Kunjungi WEB kami***

ikhwansaputera.com Semua Bisa Dengan Belajar

PostgreSQL TRUNCATE TABLE

08.26.2017 · Posted in Home, PHP, PostgreSQL, Programing
Postgresql

Postgresql

Tutorial ini menunjukkan kepada Anda bagaimana menggunakan pernyataan PostgreSQL TRUNCATE TABLE untuk menghapus semua data dari tabel besar dengan efisien serta cepat.

Untuk menghapus semua data dari tabel, Anda menggunakan pernyataan DELETE. Namun, untuk meja besar, lebih efisien menggunakan pernyataan TRUNCATE TABLE.

Pernyataan TRUNCATE TABLE menghapus semua baris dari tabel utama tanpa memindai tabel tersebut. Inilah alasan mengapa hal itu lebih cepat daripada pernyataan DELETE. Sebagai tambahan, TRUNCATE TABLE segera mengembalikan penyimpanannya sehingga Anda tidak perlu melakukan operasi VACUMM berikutnya, yang berguna jika ada tabel besar.


Hapus semua data dari satu tabel

Bentuk pernyataan TRUNCATE TABLE yang paling sederhana adalah sebagai berikut:
   Tabel_name TRUNCATE;

Misalnya, untuk menghapus semua baris dari tabel faktur, Anda menggunakan pernyataan berikut:
TRUNCATE TABLE faktur;

Pernyataan PostgreSQL TRUNCATE TABLE memungkinkan Anda untuk tidak hanya menghapus semua data dari tabel tetapi juga mengatur ulang urutan terkait generator dengan menentukan opsi IDENTITAS RESET sebagai berikut:
TABEL TRUNCATE table_name RESET IDENTITAS;

Misalnya, untuk menghapus semua baris dari tabel faktur dan urutan reset yang terkait dengan kolom invoice_no, Anda menggunakan pernyataan berikut:
TRUNCATE TABLE faktur RESET IDENTITAS;

Secara default, pernyataan TRUNCATE TABLE tidak mengatur ulang urutan yang terkait. Anda dapat menggunakan opsi CONTINUE IDENTITY secara eksplisit dalam pernyataan untuk mempertahankan urutannya. Namun, ini tidak perlu.
Hapus semua data dari beberapa tabel

Untuk menghapus semua data dari beberapa tabel sekaligus, Anda memisahkan setiap tabel dengan koma (,) sebagai berikut:
TABEL TRUNCATE table_name1, table_name2, …

Misalnya, untuk menghapus semua data dari tabel faktur dan pelanggan, Anda menggunakan pernyataan berikut:
TRUNCATE TABLE faktur, pelanggan;

Hapus semua data dari tabel yang memiliki referensi foreign key

Dalam prakteknya, tabel yang ingin Anda potong sering memiliki referensi foreign key dari tabel lain yang tidak tercantum dalam pernyataan TRUNCATE TABLE. Secara default, pernyataan TRUNCATE TABLE tidak menghapus data dari tabel yang memiliki referensi kunci asing.

Untuk menghapus data dari tabel utama dan semua tabel yang memiliki referensi foreign key ke tabel utama, Anda menggunakan opsi CASCADE sebagai berikut:
TABEL TRUNCATE table_name CASCADE;

Misalnya, untuk menghapus semua data dari tabel faktur dan cascade ke tabel mana pun yang merujuk ke tabel faktur melalui batasan foreign key, Anda menggunakan pernyataan berikut:
KARTU TRUNCATE TABLE CASCADE;

Anda harus berhati-hati saat menggunakan opsi CASCADE, atau mungkin Anda berpotensi menghapus data dari tabel yang tidak Anda inginkan.
TABEL TRUNCATE PostgreSQL dan pemicu ON DELETE

Meskipun pernyataan TRUNCATE TABLE menghapus semua data dari sebuah tabel, meskipun tidak memicu trigger ON DELETE yang terkait dengan tabel tersebut.

Untuk memicu trigger saat perintah TRUNCATE TABLE diaplikasikan pada tabel, Anda harus menentukan SEBELUM TRUNCATE dan / atau BEFORE TRUNCATE memicu tabel itu.
TABEL dan transaksi PostgreSQL TRUNCATE

TRUNCATE TABLE adalah transaksi yang aman, yang berarti jika Anda memasukkannya ke dalam laporan transaksi seperti BEGIN … ROLLBACK, operasi pemotongan akan diluncurkan kembali dengan aman.

Dalam tutorial ini, kami telah menunjukkan kepada Anda bagaimana cara menghapus semua data dari tabel besar dengan cepat dan efisien dengan menggunakan pernyataan TRUNCATE TABLE. Sebagai tambahan, kami memperkenalkan Anda pada beberapa pilihan lain yang disediakan oleh pernyataan tersebut.

Leave a Reply