LZ的意思是把一个record变量赋值到另一个过程里面?
------------------------------------------------------------
CREATE OR REPLACE PACKAGE record_test_package
IS
TYPE typ_ebe_rec IS RECORD (
id_1 NUMBER (10),
id_2 NUMBER (10),
id_3 NUMBER (10),
id_4 NUMBER (10),
id_5 NUMBER (10),
id_6 NUMBER (10),
id_7 NUMBER (10)
);
TYPE typ_ebe_rec_type IS TABLE OF typ_ebe_rec
INDEX BY BINARY_INTEGER;
PROCEDURE record_test (p_typ_ebe_rec_type OUT typ_ebe_rec_type);
END record_test_package;
/* Formatted on 2009/11/24 22:50 (Formatter Plus v4.8.8) */
CREATE OR REPLACE PACKAGE BODY record_test_package
IS
v_typ_ebe_rec_type typ_ebe_rec_type;
PROCEDURE record_test (p_typ_ebe_rec_type OUT typ_ebe_rec_type)
AS
BEGIN
FOR i IN 1 .. 100
LOOP
p_typ_ebe_rec_type (i).id_1 := i;
END LOOP;
END;
END record_test_package;
--------------------------------------------------
上面是一个包,传出一个集合类型
下面的存储过程接收这个传出的集合类型
CREATE OR REPLACE PROCEDURE record_test
AS
v_typ_ebe_rec record_test_package.typ_ebe_rec_type;
BEGIN
record_test_package.record_test(v_typ_ebe_rec);
for i in 1..v_typ_ebe_rec.count
loop
dbms_output.put_line(v_typ_ebe_rec(i).id_1);
end loop;
END;
------------------------------------------------------------
执行
BEGIN
record_test;
END;