Temp Table bảng tạm trong Oracle là gì?

Trong Oracle Database, Temporary Table được gọi là Global Temporary Table (GTT). Global Temporary Table cho phép lưu trữ dữ liệu tạm thời trong suốt một phiên hoặc một giao dịch. Dữ liệu trong GTT chỉ tồn tại trong phiên hoặc giao dịch hiện tại và được tự động xóa khi phiên hoặc giao dịch kết thúc.

Tạo Global Temporary Table

Khi tạo GTT, bạn có thể chỉ định hai tùy chọn:

  • ON COMMIT DELETE ROWS: Dữ liệu sẽ bị xóa sau mỗi giao dịch (transaction).
  • ON COMMIT PRESERVE ROWS: Dữ liệu sẽ được giữ lại trong suốt phiên làm việc (session).

Ví dụ: Tạo GTT với ON COMMIT DELETE ROWS

CREATE GLOBAL TEMPORARY TABLE orders_processed (
  order_id NUMBER,
  processed_date DATE
) ON COMMIT DELETE ROWS;

Ví dụ: Tạo GTT với ON COMMIT PRESERVE ROWS

CREATE GLOBAL TEMPORARY TABLE orders_processed (
  order_id NUMBER,
  processed_date DATE
) ON COMMIT PRESERVE ROWS;

 

Sử Dụng Global Temporary Table

INSERT INTO orders_processed (order_id, processed_date) VALUES (1, SYSDATE);

INSERT INTO orders_processed (order_id, processed_date) VALUES (2, SYSDATE + 1);

SELECT * FROM orders_processed;

Kết thúc phiên hoặc giao dịch

Khi phiên hoặc giao dịch kết thúc, dữ liệu trong bảng tạm thời sẽ bị xóa tự động dựa trên quy định bạn đã chọn khi tạo bảng (ON COMMIT PRESERVE ROWS hoặc ON COMMIT DELETE ROWS).

Xóa Global Temporary Table

Để xóa bảng tạm thời toàn cầu, bạn sử dụng lệnh DROP TABLE:

DROP TABLE orders_processed;

Lợi Ích của Global Temporary Table

  • Tăng hiệu suất: GTT giúp tăng hiệu suất khi xử lý các khối lượng lớn dữ liệu tạm thời mà không ảnh hưởng đến các bảng chính.
  • Quản lý phiên độc lập: Dữ liệu trong GTT chỉ hiển thị cho phiên hiện tại, giúp tăng cường bảo mật và quản lý dữ liệu dễ dàng.
  • Tiết kiệm tài nguyên: Oracle tự động quản lý việc lưu trữ và xóa dữ liệu, giúp tiết kiệm tài nguyên và tối ưu hóa hiệu suất hệ thống.
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận