Sau khi tìm kiếm xung quanh, tôi đã tìm ra câu trả lời cho vấn đề của chính mình. Giả sử kiểu varray của bạn được gọi là varchar_pair_array và các đối tượng được lưu trữ trong mảng này được gọi là varchar_pair_object. varchar_pair_object là một đối tượng đơn giản có hai varchars là thành viên của nó.
Đây là mã để thực thi một proc nhận vào một chuỗi varchar_pair_object (s):
DECLARE
RetVal SYS_REFCURSOR;
a_simplevalue VARCHAR2(200);
another_simplevalue VARCHAR2(200);
my_array_of_varchar_pairs VARCHAR_PAIR_ARRAY; -- assume varchar_pair_array is defined somewhere else
my_obj VARCHAR_PAIR_OBJECT; -- assume varchar_pair_object is defined somewhere else
my_other_obj VARCHAR_PAIR_OBJECT;
BEGIN
a_simplevalue := 'hello';
another_simplevalue := 'there';
my_obj := VARCHAR_PAIR_OBJECT('nice to meet you', 'greetings');
my_other_obj := VARCHAR_PAIR_OBJECT('goodbye', 'ciao');
my_array_of_varchar_pairs := VARCHAR_PAIR_ARRAY();
my_array_of_varchar_pairs.EXTEND(2); -- this should be the number of objects you plan to put into the array
my_array_of_varchar_pairs(1) := my_obj;
my_array_of_varchar_pairs(2) := my_other_obj;
RetVal := my_function ( a_simplevalue, another_simplevalue, my_array_of_varchar_pairs); -- assuming your array takes two varchars and one array of VARCHAR_PAIR_OBJECT (s)
:to_grid := RetVal;
END;
Sao chép, dán mã này vào trình soạn thảo sql của TOAD và thay đổi nó để thích ứng với chức năng và loại của bạn và nhấn F9. TOAD sẽ hỏi bạn kiểu của biến:to_grid. Chọn con trỏ (giả sử hàm của bạn trả về con trỏ tham chiếu) và nhấn enter. TOAD sẽ liên kết tập hợp kết quả với một lưới dữ liệu.
Các liên kết đã giúp tôi:
http://www.smart-soft .co.uk / Oracle / oracle-plsql-tutorial-part-11.htm (hướng dẫn hay về bộ sưu tập) http:/ /download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/10_objs.htm#1972 (đặc biệt hữu ích trong trường hợp này là phần khai báo và khởi tạo đối tượng)
Với rất ít thay đổi, quy trình này cũng có thể được thực hiện.