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

Thay thế cho bảng tạm thời MySQL trong Oracle

Trong Oracle, bạn rất hiếm khi cần một bảng tạm thời ngay từ đầu. Bạn thường cần các bảng tạm thời trong các cơ sở dữ liệu khác vì những cơ sở dữ liệu đó không triển khai tính nhất quán đọc nhiều phiên bản và có khả năng ai đó đọc dữ liệu từ bảng sẽ bị chặn trong khi thủ tục của bạn chạy hoặc thủ tục của bạn sẽ đọc sai nếu không. không lưu dữ liệu vào một cấu trúc riêng biệt. Bạn không cần các bảng tạm thời toàn cục trong Oracle vì một trong hai lý do này vì trình đọc không chặn người viết và không thể đọc bẩn.

Nếu bạn chỉ cần một nơi tạm thời để lưu trữ dữ liệu trong khi thực hiện các phép tính PL / SQL, các tập hợp PL / SQL thường được sử dụng hơn các bảng tạm thời trong Oracle. Bằng cách này, bạn sẽ không đẩy dữ liệu qua lại từ công cụ PL / SQL sang công cụ SQL và trở lại công cụ PL / SQL.

CREATE PROCEDURE do_some_processing
AS
  TYPE emp_collection_typ IS TABLE OF emp%rowtype;
  l_emps emp_collection_type;

  CURSOR emp_cur
      IS SELECT *
           FROM emp;
BEGIN
  OPEN emp_cur;
  LOOP
    FETCH emp_cur 
     BULK COLLECT INTO l_emps
    LIMIT 100;

    EXIT WHEN l_emps.count = 0;

    FOR i IN 1 .. l_emps.count
    LOOP
      <<do some complicated processing>>
    END LOOP;
  END LOOP;
END;

Bạn có thể tạo một bảng tạm thời chung (bên ngoài thủ tục) và sử dụng bảng tạm thời chung bên trong thủ tục của bạn giống như cách bạn sử dụng bất kỳ bảng nào khác. Vì vậy, bạn có thể tiếp tục sử dụng các bảng tạm thời nếu bạn muốn. Nhưng tôi có thể đếm trên một mặt số lần tôi thực sự cần một bảng tạm thời trong Oracle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. giao dịch mysql - quay trở lại bất kỳ ngoại lệ nào

  2. Kết nối trái không trả về tất cả các hàng

  3. thay đổi định dạng ngày mặc định truy vấn laravel sql

  4. Tắt cảnh báo và lỗi trên PHP và MySQL

  5. Truy vấn con MySQL - Chỉ tìm bản ghi đầu tiên trong THAM GIA TRÁI