1、先定义两个Object
CREATE OR REPLACE TYPE TY_ROLEGROUPFUNCTION AS OBJECT
(
col1 char(10) ,
col2 char(24)
);
CREATE OR REPLACE TYPE TYT_ROLEGROUPFUNCTIONS as table of ty_rolegroupfunction;
2、然后编写测试程序
DECLARE
-- Local variables here
l_ty_rolegroupfunction ty_rolegroupfunction := NEW ty_rolegroupfunction(8, 8);
l_tyt_rolegroupfunctions tyt_rolegroupfunctions := NEW
tyt_rolegroupfunctions(ty_rolegroupfunction(1
,2)
,ty_rolegroupfunction(2
,3)); --定义的时候给数组赋值
BEGIN
l_tyt_rolegroupfunctions.extend(); --程序中动态复制
l_tyt_rolegroupfunctions(l_tyt_rolegroupfunctions.count) := l_ty_rolegroupfunction;
FOR inx IN (SELECT * FROM TABLE(l_tyt_rolegroupfunctions)) -- 读取数组的值
LOOP
dbms_output.put_line(inx.rolegroupid);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(DBMS_UTILITY.FORMAT_Error_BACKTRACE || SQLERRM);
END;
CREATE OR REPLACE TYPE TY_ROLEGROUPFUNCTION AS OBJECT
(
col1 char(10) ,
col2 char(24)
);
CREATE OR REPLACE TYPE TYT_ROLEGROUPFUNCTIONS as table of ty_rolegroupfunction;
2、然后编写测试程序
-- Local variables here
l_ty_rolegroupfunction ty_rolegroupfunction := NEW ty_rolegroupfunction(8, 8);
l_tyt_rolegroupfunctions tyt_rolegroupfunctions := NEW
tyt_rolegroupfunctions(ty_rolegroupfunction(1
,2)
,ty_rolegroupfunction(2
,3)); --定义的时候给数组赋值
BEGIN
l_tyt_rolegroupfunctions.extend(); --程序中动态复制
l_tyt_rolegroupfunctions(l_tyt_rolegroupfunctions.count) := l_ty_rolegroupfunction;
FOR inx IN (SELECT * FROM TABLE(l_tyt_rolegroupfunctions)) -- 读取数组的值
LOOP
dbms_output.put_line(inx.rolegroupid);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(DBMS_UTILITY.FORMAT_Error_BACKTRACE || SQLERRM);
END;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29497382/viewspace-1182180/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29497382/viewspace-1182180/