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

Cách gọi thủ tục trả về Oracle CURSOR trong java

Cũng giống như PHP:

String dbCall = "{ ? = call pa_internal_admin.fn_search_level_1(?) }";
proc = dbConn.connection().prepareCall( dbCall );
proc.registerOutParameter(1, OracleTypes.CURSOR);
proc.setString(2, searchText);

Hoặc nếu bạn thích, thậm chí còn giống hơn:

String dbCall = "BEGIN ? := pa_internal_admin.fn_search_level_1(?); END;";

Bạn đã cố gắng gọi nó là một thủ tục có hai tham số, chứ không phải là một hàm có một; bạn không thể tự ý thay đổi điều đó trong cuộc gọi của mình.

Bạn có thể lấy lại con trỏ bằng:

OracleResultSet rSet = (OracleResultSet) proc.getCursor(1);

... và sau đó xử lý nó giống như bất kỳ tập hợp kết quả nào khác.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL to_date &to_timestamp ORA-01858:một ký tự không phải số được tìm thấy ở vị trí số được mong đợi &ORA-01850:giờ phải từ 0 đến 23

  2. Nhóm các hàng xem xét sự khác biệt giữa các hàng

  3. Oracle 11g Express Edition dành cho Windows 64bit?

  4. Làm thế nào để xuất kết quả của câu lệnh SELECT được thực thi bằng SQL động nguyên gốc?

  5. Cập nhật với nhóm của