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

chuyển động tên bảng trong vòng lặp oracle for

Bạn có thể sử dụng con trỏ loại REF CURSOR.Từ Oracle Doc:(cũng chứa các liên kết - bạn không yêu cầu chúng ...)

CREATE OR REPLACE PROCEDURE query_invoice(
       month VARCHAR2, 
       year VARCHAR2) IS
    TYPE cur_typ IS REF CURSOR;
    c cur_typ;
    query_str VARCHAR2(200);
    inv_num NUMBER;
    inv_cust VARCHAR2(20);
    inv_amt NUMBER;
BEGIN
    query_str := 'SELECT num, cust, amt FROM inv_' || month ||'_'|| year 
      || ' WHERE invnum = :id';
    OPEN c FOR query_str USING inv_num;
    LOOP
        FETCH c INTO inv_num, inv_cust, inv_amt;
        EXIT WHEN c%NOTFOUND;
        -- process row here
    END LOOP;
    CLOSE c;
END;
/



  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 kết nối Luồng khí với cơ sở dữ liệu oracle

  2. Làm cách nào để hiển thị giá trị mặc định khi không tìm thấy kết quả phù hợp nào trong một truy vấn?

  3. Trình kích hoạt SQL cho Chế độ xem

  4. Cách kết nối từ xa với cơ sở dữ liệu Oracle 11g

  5. Một truy vấn SQL oracle có thể thực hiện một truy vấn chuỗi được chọn từ một bảng không?