Sơ lượt một số loại câu lệnh trong Oracle:
Data Definition Language (DDL) | CREATE, ALTER, TRUNCATE, GRANT, REVOKE, ANALYZE, AUDIT, COMMENT |
Data Manipulation Language (DML) | CALL, DELETE, EXPLAIN PLAN, INSERT, LOCK TABLE, MERGE, SELECT, UPDATE |
Transaction Control Statements | COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION |
Session Control Statements | ALTER SESSION, SET ROLE |
1. DELETE
- Delete là một lệnh DML dùng để thao tác/sửa đổi dữ liệu trong bảng và nó không làm thay đổi bất kỳ thuộc tính nào của bảng.
- Delete được dùng để loại bỏ các hàng từ một bảng. Mệnh đề WHERE được thêm vào để loại bỏ một hoặc nhiều hàng từ bảng. Nếu không có mệnh đề này, toàn bộ các hàng trong bảng sẽ được loại bỏ.
- Sau thực hiện Delete, bạn cần phải COMMIT hoặc ROLLBACK trên transaction này để xác nhận thay đổi vĩnh viễn hoặc hủy bỏ nó.
- Delete loại bỏ từng hàng một (row-by-row) trong một thời điểm và được giữ lại trong Transaction Log, vì vậy Delete chậm hơn TRUNCATE.
- Mỗi một hàng bị xóa sẽ được lock, vì vậy Delete đòi hỏi nhiều resources.
- Delete sẽ kích hoạt Trigger nếu có.
- Truncate là một lệnh DDL dùng để loại bỏ tất cả các hàng trong bảng hoặc cụm(cluster).
- Không thể dùng mệnh đề WHERE trong Truncate, vì vậy bạn không thể filter để loại bỏ một hàng nào đó.
- Truncate không trả về số hàng đã được loại bỏ.
- Một khi đã Truncate thì không thể ROLLBACK.
- Sẽ không có Trigger nào được kích hoạt bởi vì Truncate không hoạt động trên hàng riêng lẻ.
- Truncate nhanh hơn Delete và không dùng nhiều không gian hoàn tác(undo space), không được giữ lại trong Transaction Log như Delete.
- Drop là một lệnh DDL dùng để loại bỏ một đối tượng trong Oracle database. Đối với table, lệnh Drop sẽ loại bỏ tất cả các hàng, index và privileges.
- Các đối tượng như View, Procedure có tham chiếu đến bảng bị Drop sẽ không mất đi.
- Không thể Drop một bảng nếu có khóa ngoại tham chiếu đến bảng khác, trừ khi thêm đối số CASCADE CONSTRAINTS.
- Trigger sẽ không được kích hoạt.
- Không thể ROLLBACK.
Hãy tham gia và để lại nhận xét của bạn vào bên dưới. Càng nhiều người tham gia, chúng ta càng được hưởng lợi nhiều =)). Vì vậy, để lại những suy nghĩ của bạn trước khi rời khỏi trang nhé.
(ORA-00020) - DELETE, TRUNCATE & DROP?
Reviewed by Uit Lân
on
12/17/2018 06:14:00 SA
Rating:

Không có nhận xét nào: