Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tạo một bảng tạm thời toàn cầu trong Oracle

-Oracle cho phép chúng tôi tạo bảng tạm thời .

-Định nghĩa về bảng tạm thời hiển thị cho tất cả các phiên, nhưng dữ liệu trong bảng tạm thời chỉ hiển thị đối với phiên chèn dữ liệu vào bảng.

-Chúng ta phải sử dụng câu lệnh CREATE GLOBAL TEMPORARY TABLE để tạo một bảng tạm thời.

-Điều khoản ON COMMIT cho biết liệu dữ liệu trong bảng là dành riêng cho giao dịch (mặc định) hay dành riêng cho phiên

XÓA ROWS

Điều này tạo ra một bảng tạm thời dành riêng cho giao dịch. Một phiên trở nên ràng buộc với bảng tạm thời với một giao dịch được chèn vào bảng trước. Ràng buộc sẽ biến mất khi kết thúc giao dịch. Cơ sở dữ liệu cắt bớt bảng (xóa tất cả các hàng) sau mỗi lần cam kết.

BẢO QUẢN ROWS

Điều này tạo ra một bảng tạm thời dành riêng cho phiên. Một phiên được liên kết với bảng tạm thời với lần chèn đầu tiên vào bảng trong phiên. Ràng buộc này sẽ biến mất vào cuối phiên hoặc bằng cách đưa ra TRUNCATE của bảng trong phiên. Cơ sở dữ liệu cắt bớt bảng khi bạn kết thúc phiên.

Bảng tạm thời rất hữu ích trong các ứng dụng nơi tập hợp kết quả được lưu vào bộ đệm, có lẽ vì nó được tạo bằng cách chạy nhiều hoạt động DML

TẠO BẢNG TẠM THỜI TOÀN CẦU GL_DATA_TEMP
(ngày bắt đầu DATE,
ngày kết thúc DATE,
gl_id CHAR (20))
TRÊN CAM KẾT XÓA ROWS;

Chỉ mục có thể được tạo trên các bảng tạm thời . Chúng cũng chỉ là tạm thời và dữ liệu trong chỉ mục có cùng phiên hoặc phạm vi giao dịch với dữ liệu trong bảng bên dưới ..

Nếu câu lệnh TRUNCATE được đưa ra dựa trên một bảng tạm thời, thì chỉ dữ liệu cụ thể của phiên mới bị cắt bớt. Không ảnh hưởng đến dữ liệu của các phiên khác.

Nếu bạn khôi phục một giao dịch, dữ liệu bạn đã nhập sẽ bị mất, mặc dù định nghĩa bảng vẫn tồn tại.

Dữ liệu trong các bảng tạm thời được lưu trữ trong các phân đoạn tạm thời trong không gian bảng tạm thời mà không tạo ra bất kỳ thao tác làm lại nào vì vậy thao tác sử dụng bảng tạm thời toàn cục tương đối nhanh hơn. Nhưng hoàn tác vẫn được tạo trong không gian bảng hoàn tác có ghi nhật ký làm lại. Vì vậy, thao tác làm lại không bị loại bỏ hoàn toàn trong các bảng tạm thời Toàn cầu nhưng chúng tương đối thấp hơn

Dữ liệu trong các bảng tạm thời sẽ tự động bị xóa vào cuối phiên cơ sở dữ liệu, ngay cả khi nó kết thúc bất thường.

Chế độ xem có thể được tạo dựa trên các bảng tạm thời và kết hợp các bảng tạm thời và vĩnh viễn. Chúng có thể có các trình kích hoạt được liên kết với chúng

Với bản phát hành 12.1 (cơ sở dữ liệu 12c) Oracle, khái niệm hoàn tác tạm thời đã được giới thiệu cho phép các phân đoạn hoàn tác cho các bảng tạm thời toàn cầu được lưu trữ trong vùng bảng tạm thời. Điều này cho phép các bảng tạm thời toàn cầu được sử dụng trong cơ sở dữ liệu chờ vật lý và cơ sở dữ liệu chỉ đọc, cũng như loại bỏ nhu cầu tạo lại.

ALTER SYSTEM SET TEMP_UNDO_ENABLED =TRUE;
ALTER SYSTEM SET TEMP_UNDO_ENABLED =FALSE;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách kiểm tra phiên bản của nhà cung cấp oracle cho ole-db. Nhà cung cấp OraOLEDB.Oracle

  2. EM 12c Điều chỉnh Giá trị Ngưỡng

  3. Làm thế nào để CẬP NHẬT một cột bằng cách sử dụng một cột khác trong bảng khác? Lỗi SQL:ORA-00933:Lệnh SQL không kết thúc đúng cách

  4. Chọn Giá trị từ Biến / Mảng Bảng Oracle?

  5. Truy vấn tham số C # cho Oracle - lỗi nghiêm trọng và nguy hiểm!