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

Làm thế nào để trả về nhiều hàng từ thủ tục được lưu trữ oracle từ nhiều con trỏ?

Đề xuất của tôi là chèn các hàng từ con trỏ của bạn vào một bảng tạm thời. Sau đó, tham gia bảng tạm thời với bảng hiện có của bạn cho các tiêu chí lọc mà bạn đề cập. Mã Psuedocode:

create or replace function my_func
return sysrefcursor
is
    cursor cursor_one is 
        SELECT * FROM table_one ; 

    cursor cursor_two is 
        SELECT * FROM table_one ; 
    BEGIN    

     FOR current_row in cursor_one
      loop 

          -- do some modification on each row and insert into temporary table

      end loop; 



     FOR current_row in cursor_two
      loop 

          -- do some modification on each row and insert into temporary table

      end loop; 


    -- results from cursor 1 and 2 exist in temporary table

    open out_cursor for
     select t.* from
      my_temp_table t
      join
      my_other_table tt
      on (t.col1 = tt.col1) -- or whatever columns are appropriate
      where t.col2 = 'some criteria' -- or whatever filter criteria you like.

    return out_cursor;

    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. Sử dụng bí danh trong khi một phần của một câu lệnh tình huống trong Oracle SQL

  2. Số lượng và tham gia tự nhiên của Oracle (1)

  3. LINQPad - Chuỗi kết nối với Oracle DB của tôi

  4. cách chuyển biến từ shell script sang sqlplus

  5. ORACLE / ASP.NET:ORA-2020 - Quá nhiều liên kết cơ sở dữ liệu ... điều gì gây ra điều này?