Bạn có thể thực hiện điều này bằng cách sử dụng Con trỏ tham chiếu được nhập yếu làm kiểu trả về. Điều này đặc biệt dễ thực hiện từ giao diện khách sử dụng JDBC, vì kiểu con trỏ trả về có thể được thực hiện giống như bất kỳ kết quả truy vấn nào và siêu dữ liệu có thể được thẩm vấn từ ResultSet.getMetaData (). Đây là một ví dụ:
CREATE OR REPLACE PROCEDURE retrieve_info(field_id in integer, p_cursor in out sys_refcursor)
AS
BEGIN
open p_cursor for 'select * from emp';
END;
Truy vấn trong dấu ngoặc kép có thể là bất kỳ thứ gì trả về bất kỳ loại nào, cho bất kỳ số lượng cột nào.