06/04/2021, 14:51

Lệnh Truncate Table trong Oracle - Oracle căn bản

Trong bài này ta sẽ tìm hiểu một lệnh có chức năng tương tự như lệnh delete đó là lệnh truncate. Lệnh Truncate sẽ xóa toàn bộ các records có trong bảng, điều này đồng nghĩa với bạn sử dụng lệnh delete không nhập điều kiện xóa. Câu hỏi đặt ra là tại sao ta không sử dụng lệnh Delete mà lại sử dụng ...

Trong bài này ta sẽ tìm hiểu một lệnh có chức năng tương tự như lệnh delete đó là lệnh truncate. Lệnh Truncate sẽ xóa toàn bộ các records có trong bảng, điều này đồng nghĩa với bạn sử dụng lệnh delete không nhập điều kiện xóa.

Câu hỏi đặt ra là tại sao ta không sử dụng lệnh Delete mà lại sử dụng Truncate? Để trả lời thì bạn xem các phần tiếp theo nhé.

Tìm hiểu Truncate trong Oracle

Khác với lệnh delete, khi bạn sử dụng lệnh truncate thì bạn không thể rollback, nghĩa là đã xóa là ra đi không có đường trở lại.

Lệnh truncate không ảnh hưởng tới các thiết lập khác của bảng như khóa chính, trigger.

Cú pháp như sau:

TRUNCATE TABLE table_name

Trong đó table_name là tên bảng mà bạn muốn xóa.

Ví dụ: Xóa tất cả dữ liệu của bảng customers.

TRUNCATE TABLE customers;  

Chạy lệnh này xong bạn hãy kiểm tra dữ liệu của table nhé, bạn sẽ thấy nó đã mất sạch không còn một record nào cả.

Lời kết

Như vậy lệnh Truncate có chức năng tương tự như lệnh delete khi không có điều kiện xóa, nên trường hợp bạn muốn xóa sách mà không có cơ hội roolback thì hãy sử dụng truncate, còn không thì sử dụng delete.

Trần Trung Dũng

15 chủ đề

2610 bài viết

Cùng chủ đề
0