--建立oracle对象
CREATE OR REPLACE TYPE PERSON AS OBJECT (
--如果你执意使用VARCHAR2有一定几率出现乱码和ASCII码(貌似和驱动有关)
--为了避免平台,服务器中间件,驱动等等因素而造成的
--可能出现乱码(无法识别)和以0X开头的16进制ASCII等情况请使用NVARCHAR2
P_ID NVARCHAR2(32),
P_NAME NVARCHAR2(16),
P_AGE NVARCHAR2(24),
P_PROJECT NVARCHAR2(32) )
--建立对象数组
CREATE OR REPLACE TYPE PERSON_TABLE_TYPE IS TABLE OF PERSON
--建立测试用存储过程
--PS:这个过程是在我的一个包(TEST.DEMO)里面的,如果单独写成过程请create or replace
PROCEDURE GETBEAN_OBJTABLE(V_TABLE OUT PERSON_TABLE_TYPE)
AS
BEGIN V_TABLE := PERSON_TABLE_TYPE();
FOR I IN 1 .. 5 LOOP
V_TABLE.EXTEND; V_TABLE(I) := PERSON('23231123232'||I,
'第'||I||'代',
'20'||I,
'2010-1-1'||I);
END LOOP;
END;
JAVA端
//如果你使用JDBC,
//你可以强转conn